A menubar is a common part of a GUI application. It is a group of commands located in various menus.
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This program creates a menubar. The menubar has one menu with an exit action. author: Jan Bodnar website: zetcode.com last edited: August 2011 """ 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()
In the above example, we create a menubar with one menu. This menu contains one action which terminates the application if selected. A statusbar is created as well. The action is accessible with theCtrl+Q shortcut.
exitAction = QtGui.QAction(QtGui.QIcon(‘exit.png‘), ‘&Exit‘, self) exitAction.setShortcut(‘Ctrl+Q‘) exitAction.setStatusTip(‘Exit application‘)
A QtGui.QAction
is an abstraction for actions performed with a menubar, toolbar or with a custom keyboard shortcut. In the above three lines, we create an action with a specific icon and an ‘Exit‘ label. Furthermore, a shortcut is defined for this action. The third line creates a status tip which is shown in the statusbar when we hover a mouse pointer over the menu item.
exitAction.triggered.connect(QtGui.qApp.quit)
When we select this particular action, a triggered signal is emitted. The signal is connected to thequit()
method of the QtGui.QApplication
widget. This terminates the application.
menubar = self.menuBar() fileMenu = menubar.addMenu(‘&File‘) fileMenu.addAction(exitAction)
The menuBar()
method creates a menubar. We create a file menu and append the exit action to it.