这一部分 我们将介绍状态栏、菜单栏和一个工具栏,菜单是一组位于菜单栏的命令。工具栏上的按钮包含应用程序中的一些常用命令,状态栏显示状态信息,通常位于应用程序窗口的底部。
QMainWindow
QMainWindow类提供了一个主应用程序窗口,这样可以创建一个带有状态栏、工具栏和菜单栏的经典应用程序框架。
Statusbar
状态栏是用于显示状态信息的小组件。
import sys
from 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()将在状态栏上显示一条消息。
Simple menu
菜单栏是GUI应用程序里经常用到的一部分,它是位于各种菜单中的一组命令,(Mac Os对菜单栏的处理方式不同,为了获得类似的结果,我们可以添加这一条语句:menubar.setNativeMenuBar(False)
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction, qApp
from PyQt5.QtGui import QIcon
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
exitAct = QAction(QIcon('test.jpg'), '&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.statusBar().showMessage("Ready")
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Simple menu')
self.show()
if __name__ == '__main__':