PyQt5 tutorial - drukknop

  1. PyQt5-drukknop - QPushButton
  2. PyQt5 QLabel Label Widget Set Style
  3. PyQt5 QLabel label Klik op gebeurtenis

Drukknopwidget QPushButton is een opdrachtknop in PyQt5. Het wordt door de gebruiker aangeklikt op de PC commando om een bepaalde actie uit te voeren, zoals Apply , Cancel en Save.

PyQt5-drukknop - 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()

Waar,

buttonA = QtWidgets.QPushButton(windowExample)

buttonA is QPushButton van QtWidgets en het moet op dezelfde manier aan het venster windowExample worden toegevoegd als labels die in de laatste hoofdstukken zijn geïntroduceerd.

buttonA.setText('Click!')

Het stelt de tekst van buttonA in op Click!.

PyQt5-drukknop

Het gaat eigenlijk niets doen.

PyQt5 QLabel Label Widget Set Style

De stijl van PyQt5- QLabel widget zoals achtergrondkleur, lettertypefamilie en lettergrootte kan met de setStyleSheet methode worden ingesteld. Het werkt als stylesheet in CSS.

buttonA.setStyleSheet("background-color: red;font-size:18px;font-family:Times New Roman;");

Het stelt buttonA met de volgende stijlen,

Stijl Waarde
background-color red
font-size 18px
font-family Times New Roman

Het is handig om de stijlen in PyQt5 in te stellen omdat het vergelijkbaar is met CSS.

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 Voorbeeld

PyQt5 QLabel label Klik op gebeurtenis

De knopklikgebeurtenis is verbonden met een specifieke functie met QLabel.clicked.connect(func) methode.

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_() )

Wanneer op QPushButton buttonA wordt geklikt, wordt de functie geactiveerd clickCallback om de labeltekst in te stellen op Button is clicked.