pyqt Tutoriel
Démarrer avec pyqt
Recherche…
Remarques
PyQt est une liaison Python au populaire framework d'application Qt multiplate-forme couramment utilisé pour créer des applications graphiques. PyQt4 prend en charge Qt4 et PyQt5 prend en charge Qt5. Il fonctionne sur toutes les plates-formes supportées par Qt (Windows, OS X, Linux, iOS et Android). Les liaisons sont implémentées sous la forme d'un ensemble de modules et de classes Python.
Pour plus d'informations, consultez le site Web PyQt .
Installation de PyQt4
Méthode d'installation suggérée
Windows : Téléchargez et exécutez le fichier de configuration binaire .
Linux (Debian) : Exécutez cette commande dans votre ligne de commande:
$ apt-get install python-qt4 pyqt4-dev-tools qt4-designer
OS X : Exécutez cette commande dans votre ligne de commande:
$ brew install pyqt
Installer manuellement
Vous pouvez également télécharger le code source manuellement à partir de là , puis l'installer et le configurer vous-même.
Testez votre installation
Si pyqt est installé correctement, vous pourrez exécuter la commande pyuic4
. S'il est installé correctement, vous verrez l'erreur suivante:
$ pyuic4
Error: one input ui-file must be specified
Installation complète
Vous avez maintenant installé la bibliothèque PyQt4. Deux applications utiles ont également été installées le long de PyQt4:
- Qt Designer: une application pour la conception 'drag & drop' d'interfaces graphiques (crée des fichiers
.ui
), - pyuic4: une application en ligne de commande capable de convertir des fichiers
.ui
en code Python.
Une application de base
L'exemple suivant montre une fenêtre d'interface graphique principale de base avec un widget d'étiquette, une barre d'outils et une barre d'état utilisant PyQt4.
import sys
from PyQt4 import QtGui
class App(QtGui.QApplication):
def __init__(self, sys_argv):
super(App, self).__init__(sys_argv)
self.build_ui()
def build_ui(self):
# build a main GUI window
self.main_window = QtGui.QMainWindow()
self.main_window.setWindowTitle('App')
self.main_window.show()
# add a label to the main window
label = QtGui.QLabel('Label')
self.main_window.setCentralWidget(label)
# add a toolbar with an action button to the main window
action = QtGui.QAction('Toolbar action', self)
toolbar = QtGui.QToolBar()
toolbar.addAction(action)
self.main_window.addToolBar(toolbar)
# add a status bar to the main window
status_bar = QtGui.QStatusBar()
status_bar.showMessage('Status bar')
self.main_window.setStatusBar(status_bar)
if __name__ == '__main__':
app = App(sys.argv)
sys.exit(app.exec_())
Bonjour le monde
Ce code de base lancera une fenêtre graphique "Hello world" en utilisant PyQt4:
import sys
from PyQt4 import QtGui
# create instance of QApplication
app = QtGui.QApplication(sys.argv)
# create QLabel, without parent it will be shown as window
label = QtGui.QLabel('Hello world!')
label.show()
# start the execution loop of the application
sys.exit(app.exec_())
Ceci est le même code en utilisant PyQt5.
import sys
from PyQt5 import QtWidgets
# create instance of QApplication
app = QtWidgets.QApplication(sys.argv)
# create QLabel, without parent it will be shown as window
label = QtWidgets.QLabel('Hello world!')
label.show()
# start the execution loop of the application
sys.exit(app.exec_())
Un simple exemple de glisser-déposer
Créez une application graphique simple en 3 étapes faciles.
1. Design
Ouvrez Qt Creator
, créez un nouveau projet et créez votre projet. Enregistrez votre résultat sous .ui
fichier .ui
(ici: mainwindow.ui
).
2. Générez le fichier .py correspondant
Vous pouvez maintenant créer un fichier .py à partir de votre fichier .ui que vous avez généré à l'étape précédente. Entrez ce qui suit dans votre ligne de commande:
$ pyuic4 mainwindow.ui -o GUI.py
Si la ligne ci-dessus est exécutée avec succès, un fichier GUI.py
est créé.
3. Codes Python
Vous pouvez ajouter votre propre code (par exemple des signaux et des slots) dans le fichier GUI.py
, mais il est préférable de les ajouter dans un nouveau fichier. Si vous souhaitez modifier votre interface graphique, le fichier GUI.py
sera remplacé. C'est pourquoi il est préférable d'utiliser un autre fichier pour ajouter des fonctionnalités dans la plupart des cas.
Appelons le nouveau fichier main.py
from PyQt4 import QtGui
import sys
import GUI # Your generated .py file
class MyApp(QtGui.QMainWindow, GUI.Ui_MainWindow):
def __init__(self, parent=None):
super(ExampleApp, self).__init__(parent)
self.setupUi(self)
# Connect a button to a function
self.btn_run.clicked.connect(self.run)
def run(self):
# Write here what happens after the button press
print("run")
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
form = ExampleApp()
form.show()
app.exec_()
Maintenant, vous pouvez exécuter main.py
et voir votre interface graphique.