zoukankan      html  css  js  c++  java
  • pyqt5学习之菜单栏,工具栏,状态栏

    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_())
  • 相关阅读:
    mongodb数组操作
    tmux使用心得
    redis设置key总结
    gitbook构建文档命令
    js中for in,of区别
    redis清除缓存和连接远程服务器
    Postman使用记录
    asp.net中导出Execl的方法
    CASE WHEN 用法
    js 字符串转换数字
  • 原文地址:https://www.cnblogs.com/mosewumo/p/12546774.html
Copyright © 2011-2022 走看看