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 :

Votre première fenêtre via PySide2 (Qt)

PySide2 est un « binding » pour l'API graphique Qt. La librairie Qt étant codée en C++, il est necessaire d'avoir une couche logicielle qui interface la partie C++ cette librairie et votre code Python : c'est ce que réalise PySide2. Il est disponible sur le dépot PyPI (Python Packaga Index), mais vous pourrez avoir plus d'informations à partir de son site officiel : https://www.qt.io/qt-for-python.

un autre binding permet de coupler Python à Qt : il s'agit de PyQt5. Vous pouvez aussi le trouver à partir de PyPI.

Installation de PySide2

Par défaut, PySide2 ne fait pas partie de la distribution Python. Il est donc nécessaire de la télécharger (ainsi que les binaires Qt) à partir de PyPI. Veuillez ouvrir un terminal et y saisir la commande suivante :

$> pip3 install --upgrade PySide2
l'option --upgrade est utile si vous avez déjà installé PySide2 et que vous souhaitez simplement mettre à jours votre installation.

Un premier exemple de code PySide2

 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 
#!/usr/bin/python3
# -*- coding : utf-8 -*-

import sys
from PySide2.QtGui import *
from PySide2.QtWidgets import *

class MyWindow( QMainWindow ):
    
    def __init__ ( self ) :
        QMainWindow.__init__( self )
        self.setWindowTitle( 'First steps With PySide2 and Python3' )
        self.setWindowIcon( QIcon('icon.png') )
        self.resize(400, 300)

        self.__button1 = QPushButton( "First button", self )
        self.__button1.setGeometry(10, 10, 200, 35)
    
        self.__button2 = QPushButton( "Second button", self )
        self.__button2.setGeometry(10, 50, 200, 35)
        

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

    myWindow = MyWindow()
    myWindow.show()
    
    sys.exit( app.exec_() )
Une première interface graphique avec PyQt5

Voici le résultat produit par cette application.

La présence de l'icône dans le bandeau supérieur de la fenêtre dépend du système d'exploitation utilisé. Dans mon cas personnel, j'utilise Fedora Linux, je n'ai pas par défaut cette icône.