Installieren von PYQT5 unter Linux
Um PYQT5 in der neuesten Version von Ubuntu zu installieren, führen Sie den folgenden Befehl aus:
$ sudo APT Installieren Sie Python3-Pyqt5
Wenn Sie eine andere Linux -Verteilung verwenden, suchen Sie im Paketmanager nach dem Begriff „PYQT5“ und installieren Sie ihn von dort aus. Alternativ können Sie PYQT5 vom PIP -Paketmanager mit dem folgenden Befehl installieren:
$ pip Installieren Sie PYQT5
Beachten Sie, dass Sie in einigen Verteilungen möglicherweise den PIP3 -Befehl verwenden müssen, um PYQT5 korrekt zu installieren.
Voller Code
Ich poste vorher einen vollständigen Code, damit Sie den Kontext für einzelne Code -Snippets besser verstehen können, die später im Artikel erläutert wurden. Wenn Sie mit Python und PYQT5 vertraut sind, können Sie sich einfach auf den folgenden Code verweisen und die Erklärung überspringen.
#!/usr/bin/env python3Erläuterung
Der erste Teil des Codes importiert nur Module, die im gesamten Beispiel verwendet werden:
ImportsystemIm nächsten Teil wird eine neue Klasse namens "Fenster" erstellt, die die "Qwidget" -Klasse erbt. QWIDGE -Klasse bietet häufig verwendete grafische Komponenten in QT. Durch die Verwendung von „Super“ können Sie sicherstellen, dass das übergeordnete QT -Objekt zurückgegeben wird.
Klassenfenster (Qwidget):Einige Variablen sind im nächsten Teil definiert. Der Dateipfad wird standardmäßig auf "None" gesetzt, und Verknüpfungen zum Öffnen einer Datei mithilfe und Speichern einer Datei werden mithilfe der Qshortcut -Klasse definiert. Diese Verknüpfungen werden dann mit ihren jeweiligen Methoden verbunden, die aufgerufen werden, wenn ein Benutzer die definierten Schlüsselkombinationen drückt.
selbst.Datei_path = KeineVerwenden der QVBoxLayout -Klasse wird ein neues Layout erstellt, zu dem untergeordnete Widgets hinzugefügt werden. Eine mittelgroße Etikett wird für den Standarddateinamen mit der QLabel-Klasse festgelegt.
vbox = qvboxLayout ()Als nächstes wird dem Layout ein Textbereich mit einem Qtextextextextex -Objekt hinzugefügt. Das QTExtedit -Widget bietet Ihnen einen bearbeitbaren, scrollbaren Bereich, mit dem Sie arbeiten können. Dieses Widget unterstützt typische Kopie, Einfügen, Schneiden, Rückgut, Wiederherstellung, Select-All usw. Tastatürkürzel. Sie können im Textbereich auch ein Menü mit der rechten Maustaste verwenden.
selbst.scrollable_text_area = qtextedit ()Die Methode "open_new_fie" wird aufgerufen, wenn ein Benutzer eine Tastaturverknüpfung abschließt. QFiledialog -Klasse präsentiert dem Benutzer einen Datei -Picker -Dialog. Der Dateipfad wird ermittelt, nachdem ein Benutzer eine Datei aus der Auswahl ausgewählt hat. Wenn der Dateipfad gültig ist, wird der Textinhalt aus der Datei gelesen und auf QTExtedit -Widget gesetzt. Dies macht Text für den Benutzer sichtbar, ändert den Titel in den neuen Dateinamen und vervollständigt den Prozess der Öffnung einer neuen Datei. Wenn der Dateipfad aus irgendeinem Grund nicht ermittelt werden kann, wird dem Benutzer ein "ungültiges Datei -Warnfeld" angezeigt.
Def open_new_file (self):Die Methode "SAVE_CURRENT_FILE" wird aufgerufen, wenn ein Benutzer Tastaturverknüpfung abschließt. Anstatt einen neuen Dateipfad abzurufen, fordert QFiledialog nun den Benutzer auf, einen Pfad anzugeben. Wenn der Dateipfad gültig ist, werden die in QTExtedit -Widget sichtbaren Inhalte in den vollständigen Dateipfad geschrieben, andernfalls wird ein "ungültiges Datei" -Alert -Feld angezeigt. Der Titel der derzeit bearbeiteten Datei wird ebenfalls in den neuen Standort des Benutzers geändert.
Def Save_Current_file (Selbst):Die Methode „CloseEvent“ ist Teil der PYQT5 -Ereignisbearbeitungs -API. Diese Methode wird aufgerufen, wenn ein Benutzer versucht, ein Fenster mit der Cross -Taste zu schließen oder durch Drücken der Schlüsselkombination zu schließen. Bei der Entlassung des Schließenereignisses wird dem Benutzer ein Dialogfeld mit drei Auswahlmöglichkeiten angezeigt: "Ja", "Nein" und "Abbrechen". Die Schaltfläche "Ja" speichert die Datei und schließt die Anwendung, während die Schaltfläche "Nein" die Datei schließt, ohne den Inhalt zu speichern. Die Schaltfläche "Abbrechen" wird das Dialogfeld geschlossen und führt den Benutzer zur Anwendung zurück.
Def CloseEvent (Selbst, Ereignis):Die "ungültige Datei" -Alertbox hat keine Schnickschnack. Es vermittelt nur die Nachricht, dass der Dateipfad nicht bestimmt werden konnte.
Def Invalid_path_alert_message (Selbst):Zuletzt wird die Hauptantragsschleife für die Ereignisbearbeitung und das Zeichnen von Widgets mit der “gestartet.exec_ () ”Methode.
Wenn __name__ == '__main__':Ausführen der App
Speichern Sie einfach den vollständigen Code in einer Textdatei. Setzen Sie die Dateierweiterung auf “, auf“.py ”, markieren Sie die ausführbare Datei und führen Sie sie aus, um die App zu starten. Zum Beispiel, wenn der Dateiname "Simple_text_editor lautet.Py “, Sie müssen die folgenden zwei Befehle ausführen:
$ chmod +x simple_text_editor.pyDinge, die Sie tun können, um den Code zu verbessern
Der oben erläuterte Code funktioniert gut für einen Texteditor mit nackten Beinen. Es ist jedoch möglicherweise nicht nützlich für praktische Zwecke, da es viele Funktionen fehlen. Sie können den Code verbessern, indem Sie neue Funktionen wie Zeilennummern, Zeilen -Hervorhebung, Syntax -Hervorhebung, mehrere Registerkarten, Sitzungssparen, Symbolleiste, Dropdown -Menüs, Pufferänderungserkennung usw. hinzufügen.
Abschluss
Dieser Artikel konzentriert sich hauptsächlich auf die Bereitstellung eines Startgeländes für das Erstellen von PYQT -Apps. Wenn Sie Fehler im Code finden oder etwas vorschlagen möchten, ist Feedback willkommen.