logo

Python | Introduction à PyQt5

Il existe de nombreuses options fournies par Python pour développer des applications GUI et PyQt5 en fait partie. PyQt5 est une boîte à outils GUI multiplateforme, un ensemble de liaisons Python pour Qt v5. On peut développer une application de bureau interactive avec beaucoup de facilité grâce aux outils et à la simplicité fournis par cette bibliothèque. Une application GUI comprend un front-end et un back-end. PyQt5 a fourni un outil appelé « QtDesigner » pour concevoir le front-end par méthode glisser-déposer afin que le développement puisse devenir plus rapide et que l'on puisse consacrer plus de temps aux tâches back-end. Installation: Tout d’abord, nous devons installer la bibliothèque PyQt5. Pour cela, tapez la commande suivante dans le terminal ou l'invite de commande :

pip install pyqt5>

S'il est installé avec succès, on peut le vérifier en exécutant le code :

>>>importer PyQt5>

PyQt5 fournit de nombreux outils et QtDesigner en fait partie. Pour cela exécutez cette commande :



c'est en python
pip install PyQt5-tools>

Créez votre première application –

Il s'agit d'une application simple ayant un seul bouton dans la fenêtre. Après avoir cliqué sur ce bouton, un message apparaîtra. Vous m'avez cliqué. Commençons .

  • Tout d'abord, nous devons trouver QtDesigner pour créer la partie front-end. – QtDesigner est présent dans « site-packages/pyqt5_tools » – Pour trouver l'emplacement des packages de site, écrivez le code python suivant en utilisant n'importe quel éditeur de votre choix, puis exécutez :
>>> importer le site>>> site.getsitepackages()>
  • – Exécutez l’application nommée « designer ».
  • Une fenêtre s'ouvrira comme indiqué sur la figure : sélectionnez l'option « Dialogue sans bouton » et cliquez sur « Créer »
  • Sur le côté gauche du concepteur, vous trouverez divers widgets qui peuvent être glissés et déposés dans notre fenêtre selon nos besoins.
  • Recherchez et glissez-déposez « Bouton-poussoir » et « Étiquette ».
  • Modifiez le texte à l'intérieur des widgets en cliquant dessus avec le bouton droit et en sélectionnant « Modifier le texte brut ». Gardez le texte de l’étiquette vide.
  • Nous avons créé notre mise en page frontale, enregistrez-la simplement à l'emplacement souhaité. N'oubliez pas que ce fichier aura l'extension .ui.
  • Nous devons convertir le fichier .ui en fichier .py pour obtenir la forme python des widgets et y attacher les écouteurs d'événements nécessaires.

Conversion du fichier .ui en fichier .py :

  • Pour cela, nous devons accéder au répertoire sitepackages dans le terminal ou l'invite de commande et exécuter la commande comme indiqué ci-dessous. Obtenir l’emplacement des packages de site est mentionné précédemment.

>>> cd C:Users……ProgramsPythonPython36-32libsite-packages [Emplacement des packages de site]>>> pyuic5 C:Users……FILENAME .ui [Emplacement exact du fichier .ui] -o C:Users…….FILENAME.py [Emplacement où vous souhaitez placer le fichier .py]

  • Enfin, nous ajouterons des signaux et un slot dans le code python pour le rendre entièrement fonctionnel.
widget.signal.connect(slot)>
  • UN signal est émis par les widgets après l'apparition d'un certain type d'événement comme un clic, un double clic, etc. fente est une fonction appelable qui effectuera une action après l'apparition d'un événement.
  • Exécutez l'application et cliquez sur le bouton.

Ci-dessous le code –

mvc pour java

Python3




import> sys> from> PyQt5>import> QtCore, QtGui, QtWidgets> class> Ui_Dialog(>object>):> >def> setupUi(>self>, Dialog):> >Dialog.setObjectName('Dialog')> >Dialog.resize(>400>,>300>)> >self>.pushButton>=> QtWidgets.QPushButton(Dialog)> >self>.pushButton.setGeometry(QtCore.QRect(>150>,>70>,>93>,>28>))> >self>.label>=> QtWidgets.QLabel(Dialog)> >self>.label.setGeometry(QtCore.QRect(>130>,>149>,>151>,>31>))> >self>.label.setText('')> >self>.retranslateUi(Dialog)> >QtCore.QMetaObject.connectSlotsByName(Dialog)> > ># adding signal and slot> >self>.pushButton.clicked.connect(>self>.showmsg)> >def> retranslateUi(>self>, Dialog):> >_translate>=> QtCore.QCoreApplication.translate> >Dialog.setWindowTitle(_translate('Dialog', 'Dialog'))> >self>.pushButton.setText(_translate('Dialog', 'Click'))> > >def> showmsg(>self>):> ># slot> >self>.label.setText('You clicked me')> if> __name__>=>=> '__main__':> >app>=> QtWidgets.QApplication(sys.argv)> >MainWindow>=> QtWidgets.QMainWindow()> >ui>=> Ui_Dialog()> >ui.setupUi(MainWindow)> >MainWindow.show()> >sys.exit(app.exec_())>

doubler en chaîne java
>

>