Python

Hoe PyQt QPushButton te gebruiken

Hoe PyQt QPushButton te gebruiken
Knoppen worden gebruikt in GUI-toepassingen om verschillende bewerkingen uit te voeren op basis van de gebeurtenissen die door de gebruiker zijn gegenereerd generated. De QDrukknop klasse van PyQt wordt gebruikt in Python om knoppen te maken die vereist zijn door de toepassing. Deze klasse erft de kernfunctionaliteiten van de QAbstracte knop klasse. Tekst of pictogrammen kunnen worden gebruikt om de knop te ondertitelen. Knoppen kunnen worden geactiveerd met muis en toetsenbord. Elke knopgebeurtenis, inclusief de knop waarop wordt geklikt of dubbelklikt, kan worden gekoppeld aan een functie of methode om de gebeurtenis af te handelen. Deze tutorial laat je zien hoe je verschillende soorten knoppen kunt maken met de QDrukknop klasse van PyQt in Python.

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 modules
import 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 systeem
van 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.

AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...
Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...
Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...