E5 - toolbars and menus - QAction

toolbars

from PyQt6.QtCore import QSize, Qt
from PyQt6.QtGui import QAction, QIcon, QKeySequence
from PyQt6.QtWidgets import ( QApplication, QCheckBox, QLabel, QMainWindow, QStatusBar, QToolBar)


class Main(QMainWindow):

    def __init__(self):
        super().__init__()
        self.setWindowTitle("My App")

        toolbar = QToolBar("My Toolbar")
        self.addToolBar(toolbar)

        button_action = QAction("your button", self)
        button_action.setStatusTip('this is your button')
        button_action.triggered.connect(self.toolbar_button_clicked)
        button_action.setCheckable(True)
        toolbar.addAction(button_action)

        self.setStatusBar(QStatusBar(self)) ## shows status tip when hovering over the button

    
    def toolbar_button_clicked(self, s):
        print("clicked", s)
        
        
app = QApplication([])
window = Main()
window.show()
app.exec()
	menu = self.menuBar()
	file_menu = menu.addMenu("&File")
	file_menu.addAction(button_action)
accelerator keys

adding & before a menu title enables user to jump to the menu item by pressing alt+ key

button_action.setShortcut(QKeySequence("Ctrl+p"))