一. 状态栏
# -*- coding: utf-8 -*-# @Time : 2018/12/22 12:37# @Author : Bo# @Email : [email protected]# @File : demo3.py# @Software: PyCharmimport sysfrom PyQt5.QtWidgets import QMainWindow, QApplication class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.statusBar().showMessage(‘Ready‘) self.setGeometry(300, 300, 250, 150) self.setWindowTitle(‘Statusbar‘) self.show() if __name__ == ‘__main__‘: app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
状态栏是由QMainWindow创建的。
self.statusBar().showMessage(‘Ready‘)
调用QtGui.QMainWindow
类的statusBar()
方法,创建状态栏。第一次调用创建一个状态栏,返回一个状态栏对象。showMessage()
方法在状态栏上显示一条信息。
二 菜单栏
import sysfrom PyQt5.QtWidgets import QAction,qApp,QApplication,QMainWindowfrom PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): exitAct = QAction(QIcon(‘1.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, 250, 150) self.setWindowTitle(‘simple menu‘) self.show() if __name__ == ‘__main__‘: app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
我们创建了只有一个命令的菜单栏,这个命令就是终止应用。同时也创建了一个状态栏。而且还能使用快捷键Ctrl+Q
退出应用。
exitAct = QAction(QIcon(‘exit.png‘), ‘&Exit‘, self)
exitAct.setShortcut(‘Ctrl+Q‘)
exitAct.setStatusTip(‘Exit application‘)
QAction
是菜单栏、工具栏或者快捷键的动作的组合。前面两行,我们创建了一个图标、一个exit的标签和一个快捷键组合,都执行了一个动作。第三行,创建了一个状态栏,当鼠标悬停在菜单栏的时候,能显示当前状态。
exitAct.triggered.connect(qApp.quit)
当执行这个指定的动作时,就触发了一个事件。这个事件跟QApplication的quit()
行为相关联,所以这个动作就能终止这个应用。
menubar = self.menuBar()
fileMenu = menubar.addMenu(‘&File‘)
fileMenu.addAction(exitAct)
menuBar()
创建菜单栏。这里创建了一个菜单栏,并在上面添加了一个file菜单,并关联了点击退出应用的事件。
三 .子菜单
import sysfrom PyQt5.QtWidgets import QAction, qApp, QApplication, QMainWindow, QMenufrom PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): exitAct = QAction(QIcon(‘1.png‘),‘&Exit‘,self) exitAct.setShortcut(‘Ctrl+Q‘) #快捷键 exitAct.setStatusTip(‘Exit Application‘) exitAct.triggered.connect(qApp.quit) impMenu = QMenu("Import",self) impAct = QAction("Import mail",self) impMenu.addAction(impAct) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu("&File") fileMenu.addAction(exitAct) newAct = QAction("new",self) fileMenu.addAction(newAct) fileMenu.addMenu(impMenu) self.setGeometry(300, 300, 250, 150) self.setWindowTitle(‘simple menu‘) self.show() if __name__ == ‘__main__‘: app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
这个例子里,有两个子菜单,一个在file菜单下面,一个在file的import下面。
impMenu = QMenu(‘Import‘, self)
使用QMenu
创建一个新菜单。
impAct = QAction(‘Import mail‘, self)
impMenu.addAction(impAct)
使用addAction
添加一个动作。
四 . 勾选菜单,右键菜单
五 . 工具栏
六 . 主窗口
import sysfrom PyQt5.QtWidgets import QAction, qApp, QApplication, QMainWindow, QMenu, QTextEditfrom PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): textEdit = QTextEdit() self.setCentralWidget(textEdit) exitAct = QAction(QIcon(‘1.png‘),‘&Exit‘,self) exitAct.setShortcut(‘Ctrl+Q‘) #快捷键 exitAct.setStatusTip(‘Exit Application‘) exitAct.triggered.connect(qApp.quit) impMenu = QMenu("Import",self) impAct = QAction("Import mail",self) impMenu.addAction(impAct) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu("&File") fileMenu.addAction(exitAct) newAct = QAction("new",self) fileMenu.addAction(newAct) fileMenu.addMenu(impMenu) toolbar = self.addToolBar(‘Exit‘) toolbar.addAction(exitAct) self.setGeometry(300, 300, 250, 150) self.setWindowTitle(‘simple menu‘) self.show() if __name__ == ‘__main__‘: app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/icat-510/p/10165963.html
时间: 2024-10-11 09:09:54