Suche…


Bemerkungen

PyQt ist eine Python-Bindung an das beliebte plattformübergreifende Qt-Anwendungsframework, das üblicherweise zur Erstellung grafischer Anwendungen verwendet wird. PyQt4 unterstützt Qt4 und PyQt5 unterstützt Qt5. Es läuft auf allen Plattformen, die von Qt unterstützt werden (Windows, OS X, Linux, iOS und Android). Die Bindungen werden als eine Reihe von Python-Modulen und -Klassen implementiert.

Weitere Informationen finden Sie auf der PyQt-Website .

Installation von PyQt4

Vorgeschlagene Installationsmethode

Windows : Laden Sie die binäre Setup-Datei herunter und führen Sie sie aus.

Linux (Debian) : Führen Sie diesen Befehl in Ihrer Befehlszeile aus:

$ apt-get install python-qt4 pyqt4-dev-tools qt4-designer

OS X : Führen Sie diesen Befehl in Ihrer Befehlszeile aus:

$ brew install pyqt

Manuell installieren

Sie können auch den Quellcode manuell herunterladen hier und dann installieren und diese selbst konfigurieren.

Testen Sie Ihre Installation

Wenn pyqt korrekt installiert ist, können Sie den Befehl pyuic4 . Wenn es richtig installiert ist, wird der folgende Fehler angezeigt:

$ pyuic4 
Error: one input ui-file must be specified

Die Installierung ist abgeschlossen

Sie haben jetzt die PyQt4-Bibliothek installiert. Neben PyQt4 wurden auch zwei nützliche Anwendungen installiert:

  • Qt Designer: Eine Anwendung zum "Drag & Drop" -Design von grafischen Oberflächen (erstellt .ui Dateien),
  • pyuic4: Eine Befehlszeilenanwendung, die .ui Dateien in Python-Code konvertieren kann.

Eine grundlegende Anwendung

Das folgende Beispiel zeigt ein grundlegendes GUI-Hauptfenster mit einem Beschriftungs-Widget, einer Symbolleiste und einer Statusleiste, die PyQt4 verwendet.

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_())

Hallo Welt

Mit diesem Basiscode wird ein GUI-Fenster "Hallo Welt" mit PyQt4 gestartet:

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_())

Dies ist derselbe Code, der PyQt5 verwendet.

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_())

Ein einfaches Drag & Drop-Beispiel

Erstellen Sie in 3 einfachen Schritten eine einfache GUI-Anwendung.

1. Design

Öffnen Sie Qt Creator , erstellen Sie ein neues Projekt und erstellen Sie Ihr Design. Speichern Sie Ihr Ergebnis als .ui Datei (hier: mainwindow.ui ).

Ein Beispiel für ein Widget

2. Erzeugen Sie die entsprechende .py-Datei

Jetzt können Sie eine .py-Datei aus Ihrer .ui-Datei erstellen, die Sie im vorherigen Schritt erstellt haben. Geben Sie Folgendes in Ihre Befehlszeile ein:

$ pyuic4 mainwindow.ui -o GUI.py

Wenn die obige Zeile erfolgreich ausgeführt wird, wird eine GUI.py Datei erstellt.

3. Python-Codes

Sie können Ihren eigenen Code (z. B. Signale und Slots) in die Datei GUI.py , es ist jedoch besser, sie in einer neuen Datei hinzuzufügen. Wenn Sie Änderungen an Ihrer GUI GUI.py möchten, wird die GUI.py Datei überschrieben. Daher ist es in den meisten Fällen besser, eine andere Datei zum Hinzufügen von Funktionen zu verwenden.

Nennen wir die neue Datei 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_()

Jetzt können Sie main.py und Ihre GUI sehen.

Ausgabe



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow