TUTORIAL · PyQt5

PyQt5 Tutorial - Taster

Dieses Tutorial führt in das PyQt5-Taster-Widget ein.

Auf dieser Seite

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!.

PyQt5 Taster

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 Push Button_setStyleSheet Beispiel

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.