1.添加狀態欄
python
import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.statusBar().showMessage('Ready') self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Statusbar') self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
咱們能夠看到這個程序中定義的新的 example 類是繼承自 QtGui.QmainWindow 類。這個類能夠用來創造一個經典的應用骨架。這個骨架包括狀態欄,菜單欄以及工具欄。app
self.statusBar().showMessage('Ready')
使用statusBar方法建立一個狀態欄,通常位於窗口的左下角。showMessage定義狀態欄的顯示內容是 Ready工具
2.添加菜單欄ui
import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('Exit application') exitAction.triggered.connect(QtGui.qApp.quit) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(exitAction) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('Menubar') self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
這段程序在原有的基礎上添加了一個菜單欄。這個菜單欄只有一個選項就是終止這個應用 spa
exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('Exit application') exitAction.triggered.connect(QtGui.qApp.quit)
首先,爲這個應用添加一個action。QAction中規定了這個action的名字叫作 Exit,使用的圖標是exit.png。 setShortcut 將這個action的快捷鍵定義爲ctrl+Q。並用setStatusTip規定,在應用進行這個action時,應用對應的狀態欄中將顯示Exit application。最後,這個action的功能經過connect連接到QtGui.qApp.quit,被賦予退出的功能code
menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(exitAction)
建立了一個菜單欄,並用addMenu添加了菜單名稱爲 File。在File中,添加了以前定製的action。繼承
2.添加工具欄ip
import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): exitAction = QtGui.QAction(QtGui.QIcon('exit24.png'), 'Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.triggered.connect(QtGui.qApp.quit) self.toolbar = self.addToolBar('Exit') self.toolbar.addAction(exitAction) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('Toolbar') self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
直接使用addToolBar 方法添加一個名爲 Exit 的工具欄。用addAction方法將exitAction添加給這個工具。get
2.添加文本操做窗口it
import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): textEdit = QtGui.QTextEdit() self.setCentralWidget(textEdit) exitAction = QtGui.QAction(QtGui.QIcon('exit24.png'), 'Exit', self) exitAction.setShortcut('Ctrl+Q') exitAction.setStatusTip('Exit application') exitAction.triggered.connect(self.close) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(exitAction) toolbar = self.addToolBar('Exit') toolbar.addAction(exitAction) self.setGeometry(300, 300, 350, 250) self.setWindowTitle('Main window') self.show() def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
QtGui.QTextEdit 方法添加一個文本編輯窗口。setCentralWidget 將這個窗口放置在原來窗口的中心。