Python

So verwenden Sie PyQt QPushButton

So verwenden Sie PyQt QPushButton
Schaltflächen werden in GUI-Anwendungen verwendet, um verschiedene Operationen basierend auf den vom Benutzer generierten Ereignissen auszuführen. Das QDrucktaste Klasse von PyQt wird in Python verwendet, um Schaltflächen zu erstellen, die von der Anwendung benötigt werden. Diese Klasse erbt die Kernfunktionalitäten des QAbstractButton Klasse. Text oder Symbole können verwendet werden, um die Schaltfläche zu beschriften. Tasten können mit Maus und Tastatur aktiviert werden. Jedes Schaltflächenereignis, einschließlich der Schaltfläche, auf die geklickt oder doppelgeklickt wird, kann einer Funktion oder Methode zur Behandlung des Ereignisses zugeordnet werden handle. Dieses Tutorial zeigt Ihnen, wie Sie verschiedene Arten von Schaltflächen mit dem . erstellen QDrucktaste Klasse von PyQt in Python.

QPushButton-Methoden

Das QDrucktaste -Klasse verfügt über viele Methoden, um verschiedene schaltflächenbezogene Aufgaben auszuführen. Einige der am häufigsten verwendeten Methoden dieser Klasse sind im Folgenden aufgeführt:

Methodenname Zweck
Text() Wird verwendet, um die Beschriftung der Schaltfläche zu lesen.
Text setzen() Wird verwendet, um Text in der Beschriftung der Schaltfläche festzulegen.
setIcon() Wird verwendet, um ein Symbol in der Beschriftung der Schaltfläche festzulegen.
setDefault() Wird verwendet, um die Standardschaltfläche festzulegen.
setEnabled() Wird verwendet, um Schaltflächen zu aktivieren oder zu deaktivieren. Ein Wert von Wahr wird verwendet, um die Schaltfläche zu aktivieren, und ein Wert von Falsch wird verwendet, um die Taste zu deaktivieren.
setCheckable() Wird verwendet, um zu erkennen, ob die Taste gedrückt oder losgelassen wird.
wird geprüft() Wird verwendet, um den Status der Schaltfläche zu lesen, die ein boolescher Wert ist.
Umschalten() Wird verwendet, um zwischen den Zuständen zu wechseln. Ist der aktuelle Wert des Schaltflächenstatus Wahr, dann ändert sich der Wert zu Falsch, und umgekehrt.

QPushButton-Nutzung

In den folgenden Abschnitten finden Sie einige einfache Beispiele zur Erläuterung der Verwendung von QDrucktaste.

Beispiel 1: Erstellen Sie eine einfache Drucktaste

Das folgende Skript wird verwendet, um eine einzelne Schaltfläche im Fenster zu erstellen. Das Skript fügt dem angeklickten Ereignis der Schaltfläche eine benutzerdefinierte Funktion hinzu, um zu überprüfen, ob die Schaltfläche angeklickt wurde. Das Fenster zeigt nach der Ausführung des Codes eine Schaltfläche an. Wenn der Benutzer auf die Schaltfläche klickt, wird der Text 'Taste ist gedrückt' wird im Etikett angezeigt.

# Erforderliche Module importieren
Importsystem
von PyQt5.QtWidgets importieren QApplication, QWidget, QPushButton, QLabel
# Klasse definieren, um eine einzelne Drucktaste zu erstellen
Klasse ButtonExample(QWidget):
def __init__(selbst):
# Elternkonstruktor aufrufen
Super().__drin__()
# Erstelle eine Schaltfläche
selbst.btn = QPushButton('Klick mich', selbst)
# Tooltip-Text für die Schaltfläche festlegen
selbst.btn.setToolTip('Dies ist eine einfache Schaltfläche')
# Legen Sie die Geometrie der Schaltfläche fest
selbst.btn.setGeometrie(100, 20, 100, 30)
# Funktion aufrufen, wenn die Schaltfläche angeklickt wird
selbst.btn.angeklickt.verbinden (selbst.onClicked)
# Label am unteren Rand der Schaltfläche definieren Define
selbst.msgLabel = QLabel(", selbst)
# Legen Sie die Geometrie des Etiketts fest
selbst.msgLabel.setGeometry(90, 60, 290, 60)
# Setzt den Titel des Fensters
selbst.setWindowTitle('Verwendung von PushButton')
# Legen Sie die Geometrie des Hauptfensters fest
selbst.setGeometry(10, 10, 300, 150)
# Legen Sie die Position des Hauptfensters auf dem Bildschirm fest
selbst.bewegen(850, 300)
# Das Fenster anzeigen
selbst.Show()
# Funktion zum Behandeln des Klickereignisses der Schaltfläche definieren
def onClicked(self):
# Text für das Etikett festlegen
selbst.msgLabel.setText('Knopf ist gedrückt.')
# App-Objekt erstellen und App ausführen
app = QApplication(sys.Argument)
button = ButtonBeispiel()
App.exec()

Das folgende Fenster erscheint nach der Ausführung des Skripts.

Wenn der Benutzer auf das klickt Klick mich Schaltfläche, dann erscheint der folgende Text in der Beschriftung unter der Schaltfläche.

Beispiel 2: Erstellen Sie mehrere Drucktasten

Das folgende Skript erstellt mehrere Drucktasten mit dem QDrucktaste Klasse. Im Skript werden zwei Schaltflächen erstellt. Das angeklickte Ereignis des 'Ja'-Schaltfläche ist an eine Methode namens . angehängt btn1_onClicked(), und das angeklickte Ereignis der 'Nein'-Schaltfläche ist an eine Methode namens . angehängt btn2_onClicked(). Eine unter den Schaltflächen erstellte Beschriftung zeigt die angegebene Nachricht basierend auf der vom Benutzer angeklickten Schaltfläche an. Das setGeometry() Funktion wird für jedes Label und jede Schaltfläche verwendet, um die Position der Objekte im Fenster festzulegen.

Importsystem
von PyQt5.QtWidgets importieren QApplication, QWidget, QPushButton, QLabel
Klasse MultiButtons (QWidget):
def __init__(selbst):
# Elternkonstruktor aufrufen
Super().__drin__()
# Label am oberen Rand der Schaltfläche definieren
selbst.topLabel = QLabel('

Magst du Python??

', selbst)
# Legen Sie die Geometrie des Etiketts fest
selbst.topLabel.setGeometrie(100, 20, 290, 50)
# Erstelle den ersten Button
selbst.btn1 = QPushButton('Ja', selbst)
# Legen Sie die Geometrie der Schaltfläche fest
selbst.btn1.setGeometrie(130, 70, 60, 40)
# Funktion aufrufen, wenn die Schaltfläche angeklickt wird
selbst.btn1.angeklickt.verbinden (selbst.btn1_onClicked)
# Erstellen Sie die zweite Schaltfläche
selbst.btn2 = QPushButton('Nein', selbst)
# Legen Sie die Geometrie der Schaltfläche fest
selbst.btn2.setGeometrie(200, 70, 60, 40)
# Funktion aufrufen, wenn die Schaltfläche angeklickt wird
selbst.btn2.angeklickt.verbinden (selbst.btn2_onClicked)
# Label am unteren Rand der Schaltfläche definieren Define
selbst.msgLabel = QLabel(", selbst)
# Legen Sie die Geometrie des Etiketts fest
selbst.msgLabel.setGeometry(130, 120, 300, 80)
# Setzt den Titel des Fensters
selbst.setWindowTitle('Verwendung mehrerer PushButtons')
# Legen Sie die Geometrie des Hauptfensters fest
selbst.setGeometry(10, 10, 400, 200)
# Legen Sie die Position des Hauptfensters auf dem Bildschirm fest
selbst.bewegen(850, 300)
# Das Fenster anzeigen
selbst.Show()
def btn1_onClicked(self):
# Text für das untere Etikett festlegen
selbst.msgLabel.Text setzen('

Du hast auf Ja geklickt.

')
def btn2_onClicked(self):
# Text für das untere Etikett festlegen
selbst.msgLabel.Text setzen('

Du hast auf Nein geklickt.

')
# App-Objekt erstellen und App ausführen
app = QApplication(sys.Argument)
button = MultiButtons()
App.exec()

Das folgende Fenster erscheint nach der Ausführung des Skripts.

Wenn der Benutzer auf das klickt Ja Schaltfläche, die Nachricht, 'Du hast auf Ja geklickt' wird als Beschriftungstext angezeigt.

Wenn der Benutzer auf das klickt Nein Schaltfläche, die Nachricht, 'Sie haben auf Nein geklickt wird als Beschriftungstext angezeigt.

Fazit

Die QPushButton-Klasse ermöglicht es Benutzern, eine oder mehrere Schaltflächen basierend auf den Anwendungsanforderungen zu erstellen. In diesem Tutorial wurde die Verwendung dieser Klasse zum Erstellen einer oder mehrerer Schaltflächen sowie die Handhabung von Klickereignissen von Schaltflächen mit benutzerdefinierten Ereignishandlerfunktionen gezeigt.

So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...
Beste Befehlszeilenspiele für Linux
Die Befehlszeile ist nicht nur Ihr größter Verbündeter bei der Verwendung von Linux – sie kann auch eine Quelle der Unterhaltung sein, da Sie damit vi...