Python GUI教程二:菜单和工具栏
Python GUI 教程二:菜单和工具栏
摘要:这篇文章是Python GUI教程系列的第二篇,将介绍如何给界面添加菜单栏和工具栏
如果你英文较好,可以参考这里的文章:http://zetcode.com/gui/pyqt5/
作者:yooongchun
微信公众号:yooongchun小屋
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_())