Statusbar、Menus and toolbars in PyQt4
英文参考:http://zetcode.com/gui/pyqt4/menusandtoolbars/
把三者整合到一起的代码片段
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)
self.statusBar().showMessage('menu /status/toolbar')
exitAction = QtGui.QAction(QtGui.QIcon('icon.jpg'), '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()
1、Main window
The QtGui.QMainWindow class provides a main application window. This enables to create a classic application skeleton(骨架) with a statusbar, toolbars, and a menubar.
提供了一个主应用窗口,可以用来创建一个有statusbar、状态栏,工具栏和菜单栏的经典的程序框架。
2、Statusbar
上面代码里面,statusbar可以直接显示,也可以设置成某个动作之后触发。
(1)self.statusBar().showMessage(‘menu /status/toolbar’)
(2)exitAction = QtGui.QAction(QtGui.QIcon(‘icon.jpg’), ‘Exit’, self)
exitAction.setStatusTip(‘Exit application’)
self.statusBar()
3、Menubar
三句话添加一个菜单
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
名字为file
响应事件就是exitAction。
4、Toolbar
两句话创建基本工具栏
toolbar = self.addToolBar('Exit')
toolbar.addAction(exitAction)
5、QAction
exitAction = QtGui.QAction(QtGui.QIcon('icon.png'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(self.close)
self.statusBar()
A QtGui.QAction is an abstraction(抽象) for actions performed with a menubar, toolbar or with a custom keyboard shortcut.
一个QtGui.QAction是一个菜单栏、工具栏或自定义键盘快捷键执行时的一系列抽象的动作。
setShortcut():自定义键盘的快捷键
exitAction.triggered.connect(self.close):当我们选择这个特定的动作,触发信号发出。这个信号和QtGui.QApplication widget的quit()方法连接。用来终止应用。
exitAction.setStatusTip(‘Exit application’)
self.statusBar()
当鼠标滑过时,状态栏会变成Exit application。