Piton

Kako se koristi PyQt QPushButton

Kako se koristi PyQt QPushButton
Gumbi se koriste u GUI aplikacijama za obavljanje različitih operacija na temelju događaja koje generira korisnik. The QPushButton klasa PyQt koristi se u Pythonu za stvaranje gumba potrebnih aplikaciji. Ova klasa nasljeđuje osnovne funkcionalnosti QAbstractButton razred. Za natpis gumba mogu se koristiti tekst ili ikone. Gumbi se mogu aktivirati pomoću miša i tipkovnice. Bilo koji događaj gumba, uključujući gumb na koji se klikne ili dvoklik, može se povezati s funkcijom ili metodom koja obrađuje događaj. Ovaj vam vodič pokazuje kako stvoriti razne vrste gumba pomoću QPushButton klasa PyQt-a u Pythonu.

QPushButton metode

The QPushButton razred ima mnogo metoda za izvođenje različitih zadataka povezanih s gumbima. Neke od najčešće korištenih metoda ove klase spomenute su u nastavku:

Naziv metode Svrha
tekst() Koristi se za čitanje opisa gumba.
setText () Koristi se za postavljanje teksta u naslov gumba.
setIcon () Koristi se za postavljanje ikone u natpisu gumba.
setDefault () Koristi se za postavljanje zadanog gumba.
setEnabled () Koristi se za omogućavanje ili onemogućavanje gumba. Vrijednost od Pravi koristi se za omogućavanje gumba i vrijednost Lažno koristi se za onemogućavanje gumba.
setCheckable () Koristi se za utvrđivanje pritiska li se ili otpuštanja gumba.
isChecked () Koristi se za očitavanje stanja gumba koji je logička vrijednost.
prebaci () Koristi se za prebacivanje između stanja. Ako je trenutna vrijednost stanja gumba Pravi, tada će se vrijednost promijeniti u Lažno, i obrnuto.

QPushButton Upotreba

Sljedeći odjeljci pružaju nekoliko jednostavnih primjera koji objašnjavaju upotrebu QPushButton.

Primjer 1: Stvorite jednostavno dugme

Sljedeća skripta koristi se za stvaranje jednog gumba u prozoru. Skripta će priložiti prilagođenu funkciju s pritisnutim događajem gumba kako bi provjerila je li gumb pritisnut. U prozoru će se prikazati gumb nakon izvršenja koda. Ako korisnik klikne gumb, tekst 'Gumb je pritisnut' prikazat će se na naljepnici.

# Uvezite potrebne module
import sys
iz PyQt5.QtWidgets uvoze QApplication, QWidget, QPushButton, QLabel
# Definirajte klasu za stvaranje jednog gumba
klasa ButtonExample (QWidget):
def __init __ (samo):
# Pozovite nadređeni konstruktor
super().__u tome__()
# Stvorite gumb
sebe.btn = QPushButton ('Klikni me', samo)
# Postavite tekst opisa za gumb
sebe.btn.setToolTip ('Ovo je jednostavan gumb')
# Postavite geometriju gumba
sebe.btn.setGeometry (100, 20, 100, 30)
# Funkcija poziva kada se klikne gumb
sebe.btn.kliknuo.povezati (samo.onClicked)
# Definirajte oznaku na dnu gumba
sebe.msgLabel = QLabel (", samo)
# Postavite geometriju naljepnice
sebe.msgLabel.setGeometry (90, 60, 290, 60)
# Postavite naslov prozora
sebe.setWindowTitle ('Upotreba gumba')
# Postavite geometriju glavnog prozora
sebe.setGeometry (10, 10, 300, 150)
# Postavite položaj glavnog prozora na zaslonu
sebe.pomak (850, 300)
# Prikažite prozor
sebe.pokazati()
# Definirajte funkciju za rukovanje klikom na gumb
def onClicked (self):
# Postavite tekst za naljepnicu
sebe.msgLabel.setText ('Pritisnut je gumb.')
# Stvorite objekt aplikacije i izvršite aplikaciju
app = QApplication (sys.argv)
button = ButtonExample ()
app.izvršiti ()

Sljedeći će se prozor pojaviti nakon izvršavanja skripte.

Ako korisnik klikne na Çklikni me gumb, tada će se sljedeći tekst pojaviti u naslovu ispod gumba.

Primjer 2: Stvorite više tipki

Sljedeća skripta stvorit će više tipki pomoću QPushButton razred. U skripti su stvorena dva gumba. Kliknuti događaj 'Dagumb 'pridružen je metodi imenovanoj btn1_onClicked (), i kliknuti događaj 'Negumb 'pridružen je metodi imenovanoj btn2_onClicked (). Natpis stvoren ispod gumba prikazat će navedenu poruku na temelju gumba koji je korisnik kliknuo. The setGeometry () funkcija se koristi za svaku naljepnicu i gumb za postavljanje položaja predmeta u prozoru.

import sys
iz PyQt5.QtWidgets uvoze QApplication, QWidget, QPushButton, QLabel
klasa MultiButtons (QWidget):
def __init __ (samo):
# Pozovite nadređeni konstruktor
super().__u tome__()
# Definirajte oznaku na vrhu gumba
sebe.topLabel = QLabel ('

Volite li python?

', ja)
# Postavite geometriju naljepnice
sebe.topLabel.setGeometry (100, 20, 290, 50)
# Stvorite prvi gumb
sebe.btn1 = QPushButton ('Da', samostalno)
# Postavite geometriju gumba
sebe.btn1.setGeometry (130, 70, 60, 40)
# Funkcija poziva kada se klikne gumb
sebe.btn1.kliknuo.povezati (samo.btn1_onClicked)
# Stvorite drugi gumb
sebe.btn2 = QPushButton ('Ne', samostalno)
# Postavite geometriju gumba
sebe.btn2.setGeometry (200, 70, 60, 40)
# Funkcija poziva kada se klikne gumb
sebe.btn2.kliknuo.povezati (samo.btn2_onClicked)
# Definirajte oznaku na dnu gumba
sebe.msgLabel = QLabel (", samo)
# Postavite geometriju naljepnice
sebe.msgLabel.setGeometry (130, 120, 300, 80)
# Postavite naslov prozora
sebe.setWindowTitle ('Korištenje više tipki')
# Postavite geometriju glavnog prozora
sebe.setGeometry (10, 10, 400, 200)
# Postavite položaj glavnog prozora na zaslonu
sebe.pomak (850, 300)
# Prikažite prozor
sebe.pokazati()
def btn1_onClicked (self):
# Postavite tekst za donju naljepnicu
sebe.msgLabel.setText ('

Kliknuli ste Da.

')
def btn2_onClicked (self):
# Postavite tekst za donju naljepnicu
sebe.msgLabel.setText ('

Kliknuli ste Ne.

')
# Stvorite objekt aplikacije i izvršite aplikaciju
app = QApplication (sys.argv)
gumb = MultiButtons ()
app.izvršiti ()

Sljedeći će se prozor pojaviti nakon izvršavanja skripte.

Ako korisnik klikne na Da gumb, poruka, 'Kliknuli ste Da'prikazat će se kao tekst naljepnice.

Ako korisnik klikne na Ne gumb, poruka, 'Kliknuli ste Ne ' bit će prikazan kao tekst naljepnice.

Zaključak

Klasa QPushButton omogućuje korisnicima stvaranje jednog ili više gumba na temelju zahtjeva aplikacije. Ovaj je vodič pokazao upotrebu ove klase za stvaranje jednog ili više gumba, kao i kako se rukuje događajima klikova gumba pomoću prilagođenih funkcija rukovatelja događajima.

Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...
Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...