PyQt5 Tutorial - Taster
Das Drucktasten-Widget QPushButton
ist eine Befehlsschaltfläche in PyQt5. Es wird vom Benutzer angeklickt, um dem PC bestimmte Aktionen wie Apply
, Cancel
und Save
zu befehlen.
PyQt5 Taster - QPushButton
import sys
from PyQt5 import QtWidgets
def basicWindow():
app = QtWidgets.QApplication(sys.argv)
windowExample = QtWidgets.QWidget()
buttonA = QtWidgets.QPushButton(windowExample)
labelA = QtWidgets.QLabel(windowExample)
buttonA.setText("Click!")
labelA.setText("Show Label")
windowExample.setWindowTitle("Push Button Example")
buttonA.move(100, 50)
labelA.move(110, 100)
windowExample.setGeometry(100, 100, 300, 200)
windowExample.show()
sys.exit(app.exec_())
basicWindow()
Wo,
buttonA = QtWidgets.QPushButton(windowExample)
buttonA
ist der QPushButton
von QtWidgets
und sollte dem Fenster windowExample
genauso hinzugefügt werden wie in den letzten Kapiteln eingeführte Beschriftungen.
buttonA.setText("Click!")
Es setzt den Text von SchaltflächeA
auf Click!
.
Es wird eigentlich gar nichts bringen.
PyQt5 QLabel
Label Widget Set Style
Der Stil des PyQt5 QLabel
Widgets wie Hintergrundfarbe, Schriftfamilie und Schriftgröße kann mit der setStyleSheet
Methode eingestellt werden. Sie funktioniert wie ein Stylesheet in CSS.
buttonA.setStyleSheet(
"background-color: red;font-size:18px;font-family:Times New Roman;"
)
Es setzt buttonA
mit den folgenden Stilen,
Stil | Wert |
---|---|
background-color |
rot |
font-size |
18px |
font-family |
Times New Roman |
Es ist bequem, die Stile in PyQt5 zu setzen, da es ähnlich wie CSS ist.
import sys
from PyQt5 import QtWidgets
def basicWindow():
app = QtWidgets.QApplication(sys.argv)
windowExample = QtWidgets.QWidget()
buttonA = QtWidgets.QPushButton(windowExample)
labelA = QtWidgets.QLabel(windowExample)
buttonA.setStyleSheet(
"background-color: red;font-size:18px;font-family:Times New Roman;"
)
buttonA.setText("Click!")
labelA.setText("Show Label")
windowExample.setWindowTitle("Push Button Example")
buttonA.move(100, 50)
labelA.move(110, 100)
windowExample.setGeometry(100, 100, 300, 200)
windowExample.show()
sys.exit(app.exec_())
basicWindow()
PyQt5 QLabel
Label Click Event
Das Button-Click-Ereignis ist mit einer bestimmten Funktion mit der Methode QLabel.clicked.connect(func)
verbunden.
import sys
from PyQt5 import QtWidgets
class Test(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.buttonA = QtWidgets.QPushButton("Click!", self)
self.buttonA.clicked.connect(self.clickCallback)
self.buttonA.move(100, 50)
self.labelA = QtWidgets.QLabel(self)
self.labelA.move(110, 100)
self.setGeometry(100, 100, 300, 200)
def clickCallback(self):
self.labelA.setText("Button is clicked")
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
test = Test()
test.show()
sys.exit(app.exec_())
Wenn der QPushButton
ButtonA
angeklickt wird, löst er die Funktion clickCallback
aus, um den Labeltext zu setzen, der Button is clicked
sein soll.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook