跳至主要內容

PyQt5教程二:菜单栏&工具栏

yczha大约 1 分钟PyQT5pythonpythonguipyqt5

这篇文章是Python GUI教程系列的第二篇,将介绍如何给界面添加菜单栏和工具栏,如果你英文较好,可以参考这里的文章:http://zetcode.com/gui/pyqt5/

  • STEP 1:状态栏:状态栏是程序中用来显示状态信息的部件。

    将以下内容保存为statusbar.py

    # -*- coding: utf-8 -*-
    
    """
    这个程序展示一个状态栏
    
    Author:yooongchun
    Time:2018-05-02
    """
    
    import sys
    from PyQt5.QtWidgets import QMainWindow, QApplication
    
    
    class StatusBar(QMainWindow):
        def __init__(self):
            super().__init__()
            self.initUI()
            
        def initUI(self):               
            self.statusBar().showMessage('Hello,it\'s a status bar.)
            self.setWindowTitle('Statusbar')    
            self.show()
                                         
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        ex = StatusBar()
        sys.exit(app.exec_())
    

    运行 这里写图片描述

  • STEP 2:工具栏

    将以下内容保存为tool_bar.py 运行

    # -*- coding: utf-8 -*-
    
    """
    该程序实现一个简易工具栏
    Author: yooongchun
    Time: 2018-05-07
    """
    
    import sys
    from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
    from PyQt5.QtGui import QIcon
    # 工具栏
    class ToolBar(QMainWindow):
        def __init__(self):
            super().__init__()
            self.initUI()
    
        def initUI(self):
            exitAction = QAction(QIcon('Exit.png'), 'Exit', self)
            exitAction.setShortcut('Ctrl+Q')
            exitAction.triggered.connect(qApp.quit)
    
            self.toolbar = self.addToolBar('Exit')
            self.toolbar.addAction(exitAction)
    
            self.setGeometry(500, 500, 500, 500)
            self.setWindowTitle('Toolbar')
            self.show()
    
    if __name__=="__main__":
        app = QApplication(sys.argv)
        ex = ToolBar()
        sys.exit(app.exec_())
    
    
  • STEP 3:菜单栏

    将以下内容保存为menu_bar.py 然后运行

    # -*- coding: utf-8 -*-
    
    """
    该程序实现一个简易菜单栏
    Author: yooongchun
    Time: 2018-05-02
    """
    
    import sys
    from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
    from PyQt5.QtGui import QIcon
    
    
    class MenuBar(QMainWindow):
        def __init__(self):
            super().__init__()
            self.initUI()
            
        def initUI(self):               
            exitAct = QAction(QIcon('exit.png'), '&Exit', self)        
            exitAct.setShortcut('Ctrl+Q')
            exitAct.setStatusTip('Exit application')
            exitAct.triggered.connect(qApp.quit)
            self.statusBar()
            menubar = self.menuBar()
            fileMenu = menubar.addMenu('&File')
            fileMenu.addAction(exitAct)
            
            self.setGeometry(300, 300, 300, 200)
            self.setWindowTitle('Simple menu')    
            self.show()
            
            
    if __name__ == '__main__':   
        app = QApplication(sys.argv)
        ex = MenuBar()
        sys.exit(app.exec_())
    
这里写图片描述
这里写图片描述