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 , 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 ).

Un exemple de widget

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.

Sortie



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow