Rechercher
 

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 :

Définition d'une barre de menu avec PyQt5

L'exemple de code suivant vous montre comment définir une barre de 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.

 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 
 64 
 65 
 66 
 67 
 68 
 69 
 70 
 71 
 72 
 73 
 74 
 75 
 76 
#!/usr/bin/python3
# -*- coding : utf-8 -*-

import sys
from PyQt5.Qt import *

class MyWindow( QMainWindow ):
    
    def __init__ ( self ) :
        QMainWindow.__init__( self )
        self.setWindowTitle( 'MenuBar with Python' )
        self.resize(320, 150)
        
        self.__createFileMenu()
        self.__createEditMenu()
        self.__createHelpMenu()

        self.statusBar().showMessage( "Example of MenuBar with Python and Qt" )

    def __createFileMenu(self):
        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 )
        
    def __createEditMenu(self):
        actCopy = QAction( QIcon( "icons/copy.png" ), "&Copy", self )
        actCopy.setStatusTip( "Copy" )

        actCut = QAction( QIcon( "icons/cut.png" ), "&Cut", self )
        actCut.setStatusTip( "Cut" )
        
        actPaste = QAction( QIcon( "icons/paste.png" ), "&Paste", self )
        actPaste.setStatusTip( "Paste" )        
        
        menuBar = self.menuBar()
        edit = menuBar.addMenu( "&Edit" )
        edit.addAction( actCopy )
        edit.addAction( actCut )
        edit.addSeparator()
        edit.addAction( actPaste )
        
    def __createHelpMenu(self):
        actAbout = QAction( "&About", self )
        actAbout.setStatusTip( "About..." )

        menuBar = self.menuBar()
        helpMenu = menuBar.addMenu( "&Help" )
        helpMenu.addAction( actAbout )


    def close( self ):
        print( "Exit menu item clicked" )



if __name__ == "__main__" :
    app = QApplication( sys.argv )

    myWindow = MyWindow()
    myWindow.show()
    
    sys.exit( app.exec_() )
Définition d'une barre de menu avec PyQt5

Voici le résultat produit par cette application.