In this tutorial, we will continue our exploration of creating a simple menu in PyQt. This is the second part of a series, so make sure you check out the first part if you haven’t already. In this part, we will be creating a basic menu with some additional functionality.
To get started, make sure you have PyQt installed on your system. If you don’t have it installed, you can do so by running the following command:
pip install PyQt5
Once you have PyQt installed, you can create a new Python file and import the necessary modules:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QMenu
Next, create a class for our main window:
class SimpleMenu(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Simple Menu')
self.setGeometry(100, 100, 300, 200)
self.createMenu()
def createMenu(self):
menu_bar = self.menuBar()
file_menu = menu_bar.addMenu('File')
exit_action = QAction('Exit', self)
exit_action.triggered.connect(self.close)
file_menu.addAction(exit_action)
edit_menu = menu_bar.addMenu('Edit')
copy_action = QAction('Copy', self)
edit_menu.addAction(copy_action)
paste_action = QAction('Paste', self)
edit_menu.addAction(paste_action)
view_menu = menu_bar.addMenu('View')
zoom_in_action = QAction('Zoom In', self)
view_menu.addAction(zoom_in_action)
zoom_out_action = QAction('Zoom Out', self)
view_menu.addAction(zoom_out_action)
In this code, we have created a SimpleMenu
class that inherits from QMainWindow
. In the initUI
method, we set the window title and geometry, and then call the createMenu
method to create the menu.
In the createMenu
method, we create a menu bar using self.menuBar()
. We then add three menus – File, Edit, and View – to the menu bar using menu_bar.addMenu()
. For each menu, we create QAction objects for the actions of the menu, connect the triggered signal of the action to a slot (in this case, self.close
to exit the application), and add the action to the menu using menu.addAction()
.
Finally, we need to create an instance of the SimpleMenu
class and run the application:
if __name__ == '__main__':
app = QApplication(sys.argv)
window = SimpleMenu()
window.show()
sys.exit(app.exec_())
Now you can run the Python script, and you should see a simple window with a menu bar containing File, Edit, and View menus. Each menu should have corresponding actions that you can click on.
That’s it for this tutorial! In the next part, we will add functionality to the Edit menu actions. Stay tuned for more PyQt tutorials!