PyQt5 Tutorial #17 – Creating a Menu Bar with Menus & Actions & Keyboard Shortcuts
Menus and menu bars are an essential part of any graphical user interface. In this tutorial, we will learn how to create a menu bar with menus, actions, and keyboard shortcuts using PyQt5, a popular Python GUI framework.
Step 1: Import the necessary libraries
First, we need to import the necessary libraries. In this tutorial, we will be using PyQt5
and QtCore
modules.
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
from PyQt5.QtCore import Qt
Step 2: Create the main window
Next, we need to create the main window for our application. We will subclass the QMainWindow
class and create a __init__
method to set up the window.
class MenuBarDemo(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
Step 3: Create the menu bar and menus
Now, we can create the menu bar and individual menus. We will use the menuBar
method to create the menu bar, and the addMenu
method to add menus to the bar. We can also set up keyboard shortcuts for our menus using the setShortcut
method.
def initUI(self):
menuBar = self.menuBar()
fileMenu = menuBar.addMenu('File')
editMenu = menuBar.addMenu('Edit')
fileMenu.addAction('New').setShortcut('Ctrl+N')
fileMenu.addAction('Open').setShortcut('Ctrl+O')
fileMenu.addAction('Save').setShortcut('Ctrl+S')
editMenu.addAction('Copy').setShortcut('Ctrl+C')
editMenu.addAction('Paste').setShortcut('Ctrl+V')
Step 4: Run the application
Finally, we can run the application by creating an instance of the MenuBarDemo
class and calling the show
method.
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = MenuBarDemo()
demo.show()
sys.exit(app.exec_())
And that’s it! Now, you have a basic understanding of how to create a menu bar with menus, actions, and keyboard shortcuts using PyQt5. Happy coding!