Knapper brukes i GUI -applikasjoner for å utføre forskjellige operasjoner basert på hendelsene generert av brukeren. De
Qpushbutton Klasse av PYQT brukes i Python for å lage knapper som kreves av applikasjonen. Denne klassen arver kjernefunksjonalitetene til
QabstractButton klasse. Tekst eller ikoner kan brukes til å tegne knappen. Knapper kan aktiveres ved hjelp av mus og tastatur. Enhver knapphendelse, inkludert knappen som er klikket eller dobbeltklikket, kan være assosiert med en funksjon eller metode for å håndtere hendelsen. Denne opplæringen viser deg hvordan du lager forskjellige typer knapper ved å bruke
Qpushbutton klasse av pyqt i python.
Qpushbutton -metoder
De Qpushbutton Klassen har mange metoder for å utføre forskjellige knapperelaterte oppgaver. Noen av de mer ofte brukte metodene i denne klassen er nevnt nedenfor:
Metodens navn | Hensikt |
tekst() | Brukes til å lese bildeteksten til knappen. |
SettExt () | Brukes til å angi tekst i bildeteksten til knappen. |
seticon () | Brukes til å angi et ikon i bildeteksten til knappen. |
sett standard() | Brukes til å angi standardknappen. |
setetabled () | Brukes til å aktivere eller deaktivere knapper. En verdi av ekte brukes til å aktivere knappen, og en verdi av Falsk brukes til å deaktivere knappen. |
Setcheckable () | Brukes til å identifisere om knappen er trykket på eller utgitt. |
isChecked () | Brukes til å lese tilstanden til knappen som er en boolsk verdi. |
veksle() | Pleide å veksle mellom stater. Hvis den nåværende verdien av knappetilstanden er ekte, da vil verdien endres til Falsk, og vice versa. |
Qpushbutton -bruk
Følgende seksjoner gir flere enkle eksempler for å forklare bruken av Qpushbutton.
Eksempel 1: Opprett en enkel trykknapp
Følgende skript brukes til å opprette en enkelt knapp i vinduet. Skriptet vil legge ved en tilpasset funksjon med den klikkede hendelsen på knappen for å sjekke om knappen er klikket. Vinduet vil vise en knapp etter utførelsen av koden. Hvis brukeren klikker på knappen, teksten '-Knappen er trykket på' vil vises i etiketten.
# Importer nødvendige moduler
Importer Sys
Fra PYQT5.QtWidgets importerer Qapplication, Qwidget, QpushButton, Qlabel
# Definer klasse for å opprette en enkelt trykknapp
klasse Buttonexample (QWIDGET):
def __init __ (selv):
# Ring foreldrekonstruktør
super().__i det__()
# Opprett en knapp
selv-.btn = qpushbutton ('klikk meg', selv)
# Angi verktøytip -tekst for knappen
selv-.btn.setTooltip ('dette er en enkel knapp')
# Angi geometrien til knappen
selv-.btn.setgeometry (100, 20, 100, 30)
# Samtalefunksjon når knappen er klikket
selv-.btn.klikket.Koble til (selv.onklikket)
# Definer etikett nederst på knappen
selv-.msglabel = qlabel (", selv)
# Angi geometrien til etiketten
selv-.msglabel.SetGeometry (90, 60, 290, 60)
# Angi tittelen på vinduet
selv-.SetWindowTitle ('Bruk av trykknapp')
# Angi geometrien til hovedvinduet
selv-.setgeometry (10, 10, 300, 150)
# Angi plasseringen av hovedvinduet på skjermen
selv-.Flytt (850, 300)
# Vis vinduet
selv-.forestilling()
# Definer funksjon for å håndtere klikkhendelsen til knappen
def onclicked (selv):
# Angi tekst for etiketten
selv-.msglabel.setText ('-knappen trykkes.')
# Lag appobjekt og utfør appen
app = qapplication (sys.argv)
Button = ButtOneXample ()
app.exec ()
Følgende vindu vises etter å ha utført skriptet.
Hvis brukeren klikker på Klikk på meg knappen, så vises følgende tekst i bildeteksten under knappen.
Eksempel 2: Lag flere trykknapper
Følgende skript vil lage flere trykknapper ved hjelp av Qpushbutton klasse. To knapper er opprettet i skriptet. Den klikkede hendelsen til 'Ja'-knappen er festet til en metode som heter btn1_onclicked (), og den klikkede hendelsen til 'Nei'-knappen er festet til en metode som heter btn2_onclicked (). En bildetekst opprettet under knappene vil vise den spesifiserte meldingen basert på knappen klikket av brukeren. De setGeometry () Funksjon brukes for hver etikett og knapp for å angi plasseringen av objektene i vinduet.
Importer Sys
Fra PYQT5.QtWidgets importerer Qapplication, Qwidget, QpushButton, Qlabel
Klasse Multibuttons (QWIDGET):
def __init __ (selv):
# Ring foreldrekonstruktør
super().__i det__()
# Definer etikett øverst på knappen
selv-.topLabel = qlabel ('
Liker du Python?
', selv)
# Angi geometrien til etiketten
selv-.Toplabel.setgeometry (100, 20, 290, 50)
# Opprett den første knappen
selv-.btn1 = qpushbutton ('ja', selv)
# Angi geometrien til knappen
selv-.BTN1.setgeometry (130, 70, 60, 40)
# Samtalefunksjon når knappen er klikket
selv-.BTN1.klikket.Koble til (selv.btn1_onclicked)
# Opprett den andre knappen
selv-.btn2 = qpushbutton ('nei', selv)
# Angi geometrien til knappen
selv-.Btn2.setgeometry (200, 70, 60, 40)
# Samtalefunksjon når knappen er klikket
selv-.Btn2.klikket.Koble til (selv.btn2_onclicked)
# Definer etikett nederst på knappen
selv-.msglabel = qlabel (", selv)
# Angi geometrien til etiketten
selv-.msglabel.SetGeometry (130, 120, 300, 80)
# Angi tittelen på vinduet
selv-.SetWindowTitle ('Bruk av flere trykknapper')
# Angi geometrien til hovedvinduet
selv-.setgeometry (10, 10, 400, 200)
# Angi plasseringen av hovedvinduet på skjermen
selv-.Flytt (850, 300)
# Vis vinduet
selv-.forestilling()
def btn1_onclicked (self):
# Angi tekst for bunnen etikett
selv-.msglabel.SettExt ('
Du klikket ja.
')
def btn2_onclicked (self):
# Angi tekst for bunnen etikett
selv-.msglabel.SettExt ('
Du klikket nei.
')
# Lag appobjekt og utfør appen
app = qapplication (sys.argv)
knapp = multibuttons ()
app.exec ()
Følgende vindu vises etter å ha utført skriptet.
Hvis brukeren klikker på Ja knapp, meldingen, 'Du klikket ja'vil vises som etikettteksten.
Hvis brukeren klikker på Nei knapp, meldingen, 'Du klikket nei ' vises som etikettteksten.
Konklusjon
Qpushbutton -klassen lar brukere opprette en eller flere knapper basert på applikasjonskravene. Denne opplæringen viste bruken av denne klassen for å lage en eller flere knapper, samt hvordan du håndterer klikkhendelser med knapper ved hjelp av tilpassede hendelsesbehandlerfunksjoner.