PyQt5 Tutorial - Taster

Jinku Hu 15 Februar 2024
  1. PyQt5 Taster - QPushButton
  2. PyQt5 QLabel Label Widget Set Style
  3. PyQt5 QLabel Label Click Event
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!.

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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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