PyQt5 ist eine Python-Bibliothek zum Erstellen von grafischen Schnittstellen. Die Funktionen dieser Bibliothek ermöglichen es Entwicklern, Anwendungen mit einer ansprechenden und intuitiven Benutzeroberfläche zu erstellen.
Eines der grundlegenden Steuerelemente in PyQt5 ist ein Label – eine Beschriftung oder Beschriftung, mit der Text und Bilder angezeigt werden sollen. Label vereinfacht die Interaktion des Benutzers mit der Anwendung erheblich und hilft Ihnen, den Benutzer zu informieren, was in einer bestimmten Situation zu tun ist.
Das Erstellen eines Labels in PyQt5 ist einfach. Zunächst müssen Sie die entsprechenden Module importieren und dann eine spezielle Methode zum Erstellen einer Label-Instanz verwenden. Anschließend können Sie den Text, die Formatierung und die Position des Labels im Anwendungsfenster festlegen.
Im Folgenden finden Sie einige Beispiele zum Erstellen eines Labels in PyQt5, mit denen Sie die grundlegenden Funktionen dieses Steuerelements leicht erlernen können.
Vorbereiten der Umgebung und Installieren von PyQt5
Um mit der PyQt5-Bibliothek zu beginnen, müssen Sie die Entwicklungsumgebung vorbereiten und die Bibliothek und die Abhängigkeiten selbst installieren. In diesem Abschnitt werden wir die schrittweise Anleitung zum Vorbereiten der Umgebung und zum Installieren von PyQt5 durchlaufen.
Schritt 1: Installieren von Python
Der erste Schritt ist, Python zu installieren, da PyQt5 ein Add-In über der Programmiersprache Python ist. Sie können die neueste Version von Python von der offiziellen Website herunterladen und installieren https://www.python.org/downloads /. Die Installationsdatei ist für verschiedene Betriebssysteme verfügbar.
Schritt 2: Installieren von pip
Nach der Installation von Python müssen Sie das Pip-Tool installieren, das ein Paketmanager für Python ist. Führen Sie in der Konsole (für Windows ist es eine Eingabeaufforderung, für macOS und Linux ist es ein Terminal) den folgenden Befehl aus:
python -m ensurepip --upgrade
Dieser Befehl installiert pip, wenn es noch nicht installiert ist, oder aktualisiert es auf die neueste Version.
Schritt 3: Installieren von PyQt5
Jetzt können Sie die PyQt5-Bibliothek selbst installieren. Führen Sie in der Konsole den folgenden Befehl aus:
pip install pyqt5
Dieser Befehl lädt die PyQt5-Bibliothek und ihre Abhängigkeiten herunter und installiert sie.
Schritt 4: Überprüfen der Installation
Um sicherzustellen, dass PyQt5 erfolgreich installiert wurde, können Sie den folgenden Code ausführen:
import PyQt5print(PyQt5.__version__)
Wenn Sie keine Fehler haben und die PyQt5-Version sehen, ist alles erfolgreich verlaufen und Sie sind bereit, mit PyQt5 zu beginnen, um Anwendungsschnittstellen zu erstellen!
Erste label erstellen
1. Erforderliche Module importieren:
from PyQt5.QtWidgets import QApplication, QLabel, QWidgetimport sys
2. Hauptanwendungsfenster erstellen:
app = QApplication(sys.argv)window = QWidget()window.setWindowTitle("Мое первое приложение")
3. Erstellen Sie ein Label-Objekt und legen Sie dessen Basisinformationen fest:
label = QLabel(window)label.setText("Привет, мир!")
4. Label auf dem Fenster platzieren:
label.move(50, 50)
5. Fenster anzeigen:
window.show()sys.exit(app.exec())
Wenn Sie diese Schritte ausführen, wird ein Label mit dem Text "Hallo Welt!".
Beachten Sie, dass Sie keine Label-Koordinaten im Fenster angeben müssen, damit das Programm ordnungsgemäß funktioniert, aber der Befehl label wurde zur Demonstration verwendet.move(50, 50).
Festlegen von Label-Optionen
In PyQt5 gibt es eine Reihe von Optionen, die Sie für ein Label-Widget konfigurieren können. Hier sind einige von ihnen:
- text - legt den Text fest, der innerhalb des Labels angezeigt wird;
- alignment - legt die Ausrichtung des Textes innerhalb des Labels fest (Standard ist die linke Ausrichtung);
- font - legt die Schriftart und die Textgröße fest;
- color - legt die Textfarbe fest;
- background-color - setzt die Hintergrundfarbe des Labels;
- border - setzt eine Grenze um das label;
- size - legt die Bemaßungen des Labels fest;
- tooltip - legt den Tooltip für das label fest;
- enabled - ermöglicht es Ihnen, die Möglichkeit der Interaktion mit label ein- oder auszuschalten;
- visible - hier können Sie das Label ausblenden oder anzeigen.
Dies sind nur einige der verfügbaren Optionen. In Kombination können Sie das gewünschte Aussehen und Verhalten für das Label-Widget in PyQt5 erreichen.
Ändern von Text und Label-Stil
Sie können die Methode setText() verwenden, um den label-Text zu ändern. Es folgt ein Codebeispiel, das diese Funktion veranschaulicht:
label = QLabel("Привет, мир!")label.setText("Измененный текст")
Der Text "Geänderter Text" wird jetzt auf dem Bildschirm angezeigt, nicht "Hallo Welt!".
Sie können nicht nur den Text ändern, sondern auch den Label-Stil ändern, z. B. die Hintergrundfarbe oder die Textfarbe. Dazu müssen Sie CSS-Stile verwenden. In PyQt5 wird dafür die setStyleSheet() -Methode verwendet. Im folgenden Beispielcode wird veranschaulicht, wie Sie den Label-Stil ändern:
label.setStyleSheet("background-color: yellow; color: blue;")
Jetzt hat das Label einen gelben Hintergrund und eine blaue Textfarbe.
So können Sie in PyQt5 mit den Methoden setText() und setStyleSheet() den Text und den Stil von label leicht ändern, sodass Sie interessantere und schönere Benutzeroberflächen erstellen können.
Hinzufügen eines Labels zu einem Formular
In PyQt5 ist ein Label ein Widget, mit dem Text oder ein Bild auf einem Formular angezeigt werden. Um einem Formular ein Label hinzuzufügen, müssen Sie bestimmte Schritte ausführen:
- Erforderliche Module importieren:
| from PyQt5.QtWidgets import * |
- Instanziieren der QApplication-Klasse:
| app = QApplication([]) |
- Instanziieren der QLabel-Klasse:
| label = QLabel('Text') |
Als Argument wird der Text übergeben, der auf dem label angezeigt wird.
- Rufen Sie die richtigen Methoden auf, um das label zu konfigurieren:
| label.setAlignment(Qt.AlignCenter) |
| label.setFont(QFont('Arial', 18)) |
| label.setStyleSheet('color: red') |
Hier wird die setAlignment() -Methode verwendet, um die Ausrichtung des Textes auf label festzulegen (in diesem Fall wird es zentriert), die setFont() -Methode zum Festlegen der Schriftart und -größe und die setStyleSheet() -Methode zum Festlegen des label-Stils.
- Label auf dem Formular anzeigen:
Die show() -Methode wird verwendet, um label anzuzeigen.
- Hauptschleife der Anwendung starten:
Die Hauptschleife der Anwendung wird benötigt, um Ereignisse zu verarbeiten und die Anwendungsausführung zu starten.
Nach Abschluss aller Schritte wird das Label dem Formular hinzugefügt und mit den angegebenen Einstellungen angezeigt.
Behandeln von Label-Ereignissen
Ein Label (Label) in PyQt5 kann interaktiv sein, dh auf bestimmte Ereignisse reagieren. Dies ist besonders nützlich, wenn Sie zusätzliche Funktionen oder eine Benutzeroberfläche hinzufügen möchten.
Zur Behandlung von Label-Ereignissen verwendet PyQt5 ein Objekt der QLabel-Klasse, das mehrere Methoden und Signale für die Arbeit mit Ereignissen bereitstellt:
- mousePressEvent() - wird aufgerufen, wenn die Maustaste gedrückt wird;
- mouseReleaseEvent() - wird aufgerufen, wenn die Maustaste nach dem Klicken losgelassen wird;
- mouseDoubleClickEvent() - wird beim Doppelklicken aufgerufen;
- enterEvent() - wird aufgerufen, wenn Sie die Maus über eine Beschriftung bewegen;
- leaveEvent() - wird aufgerufen, wenn die Maus von der Beschriftung entfernt wird.
Im folgenden Beispielcode wird veranschaulicht, wie Ereignisse für eine Beschriftung behandelt werden:
from PyQt5.QtWidgets import QApplication, QLabel, QMessageBoxfrom PyQt5.QtCore import Qtdef handle_mouse_press():QMessageBox.information(window, "Сообщение", "Нажата кнопка мыши")app = QApplication([])window = QLabel("Нажмите на метку")window.setAlignment(Qt.AlignCenter)window.setMouseTracking(True)window.mousePressEvent = handle_mouse_presswindow.show()app.exec_()
In diesem Beispiel wird ein QLabel mit dem Text "Auf Beschriftung klicken" erstellt. Außerdem werden die Methoden setAlignment() zur Textausrichtung auf die Beschriftung angewendet und setMouseTracking(), um die Position des Mauszeigers zu verfolgen, ohne dass eine Maustaste gedrückt werden muss.
Schließlich wird die Funktion handle_mouse_press() der integrierten mousePressEvent() -Methode des Labels zugewiesen. Wenn Sie mit der Maus klicken, wird eine benutzerdefinierte Funktion aufgerufen und eine Informationsmeldung angezeigt.
Dies ist nur ein Beispiel für die Ereignisbehandlung für ein Label, und es gibt viele andere Möglichkeiten für komplexere Behandlungen und Aktionen als Reaktion auf Ereignisse.
Beispiele für die Verwendung von label in PyQt5
Beispiel 1: Erstellen Sie ein einfaches label.
Das folgende Beispiel zeigt, wie Sie ein einfaches Label mit dem PyQt5-Modul erstellen:
from PyQt5.QtWidgets import QLabel, QApplicationapp = QApplication([])label = QLabel('Привет, мир!')label.show()app.exec_()
Beispiel 2: Ändern des Etikettentexts und -stils.
In diesem Beispiel wird gezeigt, wie Sie den Text und den Stil von label mithilfe von Methoden ändern setText und setStyleSheet:
from PyQt5.QtWidgets import QLabel, QApplicationapp = QApplication([])label = QLabel('Исходный текст')label.setStyleSheet('color: red; font-size: 24px;')label.setText('Измененный текст')label.show()app.exec_()
Beispiel 3: Verwenden von HTML in einem label.
Mit PyQt5 können Sie HTML-Tags zum Formatieren von Label-Text verwenden. Im folgenden Beispiel wird die Verwendung von HTML veranschaulicht:
from PyQt5.QtWidgets import QLabel, QApplicationapp = QApplication([])label = QLabel()label.setText('Привет, мир!
')label.show()app.exec_()
In diesem Beispiel haben wir ein Tag verwendet, um einen Titel zu erstellen, und ein Tag, um die Textfarbe zu ändern.
Beispiel 4: Formatieren von Label-Text.
In PyQt5 können Sie verschiedene Methoden zum Formatieren von Text in einem Label verwenden. Das folgende Beispiel zeigt einige davon:
from PyQt5.QtWidgets import QLabel, QApplicationapp = QApplication([])label = QLabel('Пример форматирования текста.')label.setWordWrap(True) # Перенос текстаlabel.setAlignment(Qt.AlignCenter) # Выравнивание по центруlabel.setFont(QFont('Arial', 14)) # Изменение шрифта и размераlabel.setFixedWidth(200) # Фиксированная ширинаlabel.show()app.exec_()
In diesem Beispiel haben wir Methoden verwendet setWordWrap um den Textumbruch zuzulassen, setAlignment zentriert ausrichten, setFont um die Schriftart und Größe zu ändern, und setFixedWidth um eine feste Breite festzulegen.