L'exemple de code suivant vous montre comment définir un popup menu avec PyQt5. Bien entendu, je vous laisse le soin de télécharger quelques icônes à partir d'Internet pour égailler votre interface.
Il est a noter que si vous placez la souris sur un élément de menu, son statusTip
sera affiché dans la barre de status. Notez aussi qu'une QAction
peut être ajoutée à un élément
de menu, mais aussi à un popup menu et à une barre d'outils.
Dans notre exemple, le popup menu est associé à la fenêtre elle-même cliquez simplement dessus avec le bouton droit de la souris pour le faire apparaître.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
#!/usr/bin/python3 # -*- coding : utf-8 -*- import sys from PyQt5.Qt import * class MyWindow( QMainWindow ): def __init__ ( self ) : QMainWindow.__init__( self ) self.setWindowTitle( 'Popup Menu with Python' ) self.resize(320, 150) actOpen = QAction( QIcon( "icons/open.png" ), "&Open", self ) actOpen.setStatusTip( "Open file" ) actSave = QAction( QIcon( "icons/save.png" ), "&Save", self ) actSave.setStatusTip( "Save File" ) actExit = QAction( QIcon( "icons/exit.png" ), "E&xit", self ) actExit.setShortcut( "Ctrl+Q" ) actExit.setStatusTip( "Exit application" ) actExit.triggered.connect( self.close ) menuBar = self.menuBar() file = menuBar.addMenu( "&File" ) file.addAction( actOpen ) file.addAction( actSave ) file.addSeparator() file.addAction( actExit ) toolbar = self.addToolBar( "Standard ToolBar" ) toolbar.addAction( actOpen ) toolbar.addAction( actSave ) toolbar.addSeparator() toolbar.addAction( actExit ) self.popupMenu = QMenu( "Standard PopupMenu", self ) self.popupMenu.addAction( actOpen ) self.popupMenu.addAction( actSave ) self.popupMenu.addSeparator() self.popupMenu.addAction( actExit ) self.statusBar().showMessage( "Example of ToolBar with Python and Qt" ) def mousePressEvent(self, mouseEvent): if mouseEvent.button() == Qt.RightButton: self.popupMenu.popup(QCursor.pos()) def close( self ): print( "Exit menu item clicked" ) if __name__ == "__main__" : app = QApplication( sys.argv ) myWindow = MyWindow() myWindow.show() sys.exit( app.exec_() ) |
Voici le résultat produit par cette application.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :