首页 > 其他 > 详细

pyqt5学习之菜单栏,工具栏,状态栏

时间:2020-03-22 17:37:24      阅读:65      评论:0      收藏:0      [点我收藏+]
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


class MenuDemo(QMainWindow):
    def __init__(self, parent=None):
        super(MenuDemo, self).__init__(parent)
        self.resize(300, 200)
        # 设置菜单栏
        layout = QHBoxLayout()
        bar = self.menuBar()  # 必须是QMainWindow才能设置菜单栏
        file = bar.addMenu(‘File‘)  # 在菜单栏中添加一个新的菜单对象
        file.addAction(‘New‘)  # 在菜单中添加一个行为
        file.addAction(‘show‘)
        save = QAction(‘Save‘, self)
        save.setShortcut(‘Ctrl+S‘)  # 设置快捷键
        file.addAction(save)
        edit = file.addMenu(‘Edit‘)
        edit.addAction(‘copy‘)
        edit.addAction(‘paste‘)
        quit = QAction(‘Quit‘, self)
        file.addAction(quit)
        file.triggered[QAction].connect(self.prcesstrigger)  # 接受行为对象

        self.setWindowTitle(‘menu例子‘)

        # 设置工具栏
        tb = self.addToolBar(‘Tool‘)  # 设置工具栏
        new = QAction(QIcon(‘dp.png‘), ‘new‘, self)
        tb.addAction(new)
        save = QAction(QIcon(‘dp.png‘), ‘save‘, self)
        tb.addAction(save)
        open = QAction(‘open‘, self)
        tb.addAction(open)
        tb.actionTriggered[QAction].connect(self.toolbtnpressed)

        # 设置状态栏
        self.statusBar = QStatusBar()  # 设置状态栏
        self.setStatusBar(self.statusBar)

        self.setLayout(layout)

    def prcesstrigger(self,q):
        print(q.text()+‘is trigered‘)
        if (q.text() == ‘show‘):
            self.statusBar.showMessage(q.text()+‘菜单选项被点击了‘, 5000)

    def toolbtnpressed(self, a):
        print(‘pressed tool button is‘, a.text())


if __name__ == ‘__main__‘:
    app = QApplication(sys.argv)
    demo = MenuDemo()
    demo.show()
    sys.exit(app.exec_())

 

pyqt5学习之菜单栏,工具栏,状态栏

原文:https://www.cnblogs.com/mosewumo/p/12546774.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!