QPushButton-methoden
De QDrukknop class heeft veel methoden om verschillende knopgerelateerde taken uit te voeren. Enkele van de meest gebruikte methoden van deze klasse worden hieronder vermeld:
Methode Naam: | Doel |
---|---|
tekst() | Wordt gebruikt om het bijschrift van de knop te lezen. |
setText() | Wordt gebruikt om tekst in het bijschrift van de knop in te stellen. |
setIcon() | Wordt gebruikt om een pictogram in het bijschrift van de knop in te stellen. |
standaard instellen() | Wordt gebruikt om de standaardknop in te stellen. |
setEnabled() | Gebruikt om knoppen in of uit te schakelen. een waarde van waar wordt gebruikt om de knop in te schakelen, en een waarde van niet waar wordt gebruikt om de knop uit te schakelen. |
setCheckable() | Wordt gebruikt om te bepalen of de knop wordt ingedrukt of losgelaten. |
is nagekeken() | Wordt gebruikt om de status van de knop te lezen die een booleaanse waarde is. |
toggle() | Wordt gebruikt om tussen staten te schakelen. Als de huidige waarde van de knopstatus is waar, dan verandert de waarde in niet waar, en vice versa. |
Gebruik van QPushButton
De volgende paragrafen bevatten een aantal eenvoudige voorbeelden om het gebruik van QDrukknop.
Voorbeeld 1: Maak een eenvoudige drukknop
Het volgende script wordt gebruikt om een enkele knop in het venster te maken:. Het script voegt een aangepaste functie toe aan de gebeurtenis waarop de knop is geklikt om te controleren of er op de knop is geklikt. Het venster toont een knop na het uitvoeren van de code. Als de gebruiker op de knop klikt, wordt de tekst 'Knop is ingedrukt' wordt weergegeven in het label.
# Importeer benodigde modulesimport systeem
van PyQt5.QtWidgets importeert QApplication, QWidget, QPushButton, QLabel
# Definieer klasse om een enkele drukknop te maken
klasse ButtonExample (QWidget):
def __init__(zelf):
# Roep bovenliggende constructor
super().__in het__()
# Maak een knop
zelf.btn = QPushButton('Klik op mij', zelf)
# Stel tooltip-tekst in voor de knop
zelf.btn.setToolTip('Dit is een simpele knop')
# Stel de geometrie van de knop in
zelf.btn.setGeometrie(100, 20, 100, 30)
# Oproepfunctie wanneer op de knop wordt geklikt
zelf.btn.geklikt.verbinden (zelf).op geklikt)
# Definieer label onderaan de knop
zelf.msgLabel = QLabel(", zelf)
# Stel de geometrie van het label in
zelf.msgLabel.setGeometrie(90, 60, 290, 60)
# Stel de titel van het venster in
zelf.setWindowTitle('Gebruik van drukknop')
# Stel de geometrie van het hoofdvenster in
zelf.setGeometrie(10, 10, 300, 150)
# Stel de positie van het hoofdvenster in het scherm in
zelf.verplaatsen(850, 300)
# Geef het venster weer
zelf.tonen()
# Definieer functie om de klikgebeurtenis van de knop af te handelen
def onClicked(self):
# Stel tekst in voor het label
zelf.msgLabel.setText('Knop is ingedrukt.')
# Maak een app-object en voer de app uit
app = QApplicatie(sys.argv)
knop = KnopVoorbeeld()
app.exec()
Het volgende venster zal verschijnen na het uitvoeren van het script:.
Als de gebruiker op de . klikt Klik hier knop, dan verschijnt de volgende tekst in het bijschrift onder de knop.
Voorbeeld 2: Maak meerdere drukknoppen
Het volgende script maakt meerdere drukknoppen aan met de QDrukknop klasse. Er worden twee knoppen gemaakt in het script. Het aangeklikte evenement van de 'Ja' knop is gekoppeld aan een methode met de naam btn1_onClicked(), en het aangeklikte evenement van de 'Nee' knop is gekoppeld aan een methode met de naam btn2_onClicked(). Een bijschrift dat onder de knoppen is gemaakt, geeft het opgegeven bericht weer op basis van de knop waarop de gebruiker heeft geklikt. De setGeometrie() functie wordt gebruikt voor elk label en elke knop om de positie van de objecten in het venster in te stellen.
import systeemvan PyQt5.QtWidgets importeert QApplication, QWidget, QPushButton, QLabel
klasse MultiButtons (QWidget):
def __init__(zelf):
# Roep bovenliggende constructor
super().__in het__()
# Definieer label bovenaan de knop
zelf.topLabel = QLabel('
Hou je van python?
', zelf)# Stel de geometrie van het label in
zelf.topLabel.setGeometrie(100, 20, 290, 50)
# Maak de eerste knop
zelf.btn1 = QPushButton('Ja', zelf)
# Stel de geometrie van de knop in
zelf.btn1.setGeometrie(130, 70, 60, 40)
# Oproepfunctie wanneer op de knop wordt geklikt
zelf.btn1.geklikt.verbinden (zelf).btn1_onClicked)
# Maak de tweede knop
zelf.btn2 = QPushButton('Nee', zelf)
# Stel de geometrie van de knop in
zelf.btn2.setGeometrie(200, 70, 60, 40)
# Oproepfunctie wanneer op de knop wordt geklikt
zelf.btn2.geklikt.verbinden (zelf).btn2_onClicked)
# Definieer label onderaan de knop
zelf.msgLabel = QLabel(", zelf)
# Stel de geometrie van het label in
zelf.msgLabel.setGeometrie(130, 120, 300, 80)
# Stel de titel van het venster in
zelf.setWindowTitle('Gebruik van meerdere drukknoppen')
# Stel de geometrie van het hoofdvenster in
zelf.setGeometrie(10, 10, 400, 200)
# Stel de positie van het hoofdvenster in het scherm in
zelf.verplaatsen(850, 300)
# Geef het venster weer
zelf.tonen()
def btn1_onClicked(zelf):
# Stel tekst in voor het onderste label
zelf.msgLabel.setText('
Je hebt op Ja geklikt.
')def btn2_onClicked(zelf):
# Stel tekst in voor het onderste label
zelf.msgLabel.setText('
Je klikte op Nee.
')# Maak een app-object en voer de app uit
app = QApplicatie(sys.argv)
knop = MultiButtons()
app.exec()
Het volgende venster zal verschijnen na het uitvoeren van het script:.
Als de gebruiker op de . klikt Ja knop, het bericht, 'Je hebt op Ja geklikt' wordt weergegeven als de labeltekst.
Als de gebruiker op de . klikt Nee knop, het bericht, 'Je klikte op Nee' wordt weergegeven als de labeltekst.
Conclusie
Met de klasse QPushButton kunnen gebruikers een of meer knoppen maken op basis van de toepassingsvereisten. Deze zelfstudie toonde het gebruik van deze klasse voor het maken van een of meerdere knoppen, evenals hoe u klikgebeurtenissen van knoppen afhandelt met behulp van aangepaste gebeurtenishandlerfuncties.