PyQt5 Tutorial - Taster

  1. PyQt5 Taster - QPushButton
  2. PyQt5 QLabel Label Widget Set Style
  3. PyQt5 QLabel Label Click Event

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

QPushButton.py
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.

comments powered by Disqus