Python

Kā lietot PyQt QPushButton

Kā lietot PyQt QPushButton
Pogas tiek izmantotas GUI lietojumprogrammās, lai veiktu dažādas darbības, pamatojoties uz lietotāja ģenerētajiem notikumiem. The QPushButton PyQt klase tiek izmantota Python, lai izveidotu lietojumprogrammai nepieciešamās pogas. Šī klase pārmanto QAbstractButton klasē. Tekstu vai ikonas var izmantot, lai parakstītu pogu. Pogas var aktivizēt, izmantojot peli un tastatūru. Jebkurš pogas notikums, ieskaitot pogu, uz kuras noklikšķina vai uz kuras noklikšķina divreiz, var būt saistīts ar funkciju vai metodi, kā rīkoties ar notikumu. Šajā apmācībā ir parādīts, kā izveidot dažāda veida pogas, izmantojot QPushButton klase PyQt Python.

QPushButton metodes

The QPushButton klasē ir daudz metožu dažādu ar pogu saistītu uzdevumu veikšanai. Dažas no šīs klases biežāk izmantotajām metodēm ir minētas turpmāk:

Metodes nosaukums Mērķis
teksts () Izmanto, lai lasītu pogas parakstu.
setText () Izmanto, lai iestatītu tekstu pogas parakstā.
setIcon () Izmanto, lai iestatītu ikonu pogas parakstā.
setDefault () Izmanto, lai iestatītu noklusējuma pogu.
setEnabled () Izmanto, lai iespējotu vai atspējotu pogas. Vērtība ir Patiesi tiek izmantots, lai iespējotu pogu, un vērtība ir Nepatiesa tiek izmantots, lai atspējotu pogu.
setCheckable () Izmanto, lai noteiktu, vai poga ir nospiesta vai atlaista.
isChecked () Izmanto, lai nolasītu pogas stāvokli, kas ir Būla vērtība.
pārslēgt () Izmanto, lai pārslēgtos starp stāvokļiem. Ja pašreizējā pogas stāvokļa vērtība ir Patiesi, tad vērtība mainīsies uz Nepatiesa, un otrādi.

QPushButton izmantošana

Nākamajās sadaļās sniegti vairāki vienkārši piemēri, lai izskaidrotu QPushButton.

1. piemērs: izveidojiet vienkāršu spiedpogu

Lai izveidotu vienu pogu logā, tiek izmantots šāds skripts. Skripts pievienos pielāgotu funkciju ar pogas noklikšķināto notikumu, lai pārbaudītu, vai poga ir noklikšķināta. Logā tiks parādīta poga, kas seko koda izpildei. Ja lietotājs noklikšķina uz pogas, teksts "Poga ir nospiesta" parādīsies etiķetē.

# Importējiet nepieciešamos moduļus
importa sys
no PyQt5.QtWidgets importē QApplication, QWidget, QPushButton, QLabel
# Definējiet klasi, lai izveidotu vienu spiedpogu
klases ButtonExample (QWidget):
def __init __ (pats):
# Zvaniet vecāku konstruktoram
super ().__tajā__()
# Izveidojiet pogu
pats.btn = QPushButton (noklikšķiniet uz mani, pats)
# Iestatiet pogas rīka padoma tekstu
pats.btn.setToolTip ('Šī ir vienkārša poga')
# Iestatiet pogas ģeometriju
pats.btn.setGeometry (100, 20, 100, 30)
# Zvana funkcija, noklikšķinot uz pogas
pats.btn.noklikšķinājis.savienot (sevi.onClicked)
# Pogas apakšdaļā definējiet etiķeti
pats.msgLabel = QLabel (", pats")
# Iestatiet etiķetes ģeometriju
pats.msgLabel.setGeometry (90, 60, 290, 60)
# Iestatiet loga nosaukumu
pats.setWindowTitle ('Pogas Poga izmantošana')
# Iestatiet galvenā loga ģeometriju
pats.setGeometry (10, 10, 300, 150)
# Iestatiet galvenā loga atrašanās vietu ekrānā
pats.pārvietot (850, 300)
# Parādīt logu
pats.rādīt ()
# Definējiet funkciju, lai apstrādātu pogas klikšķa notikumu
def onClicked (pats):
# Iestatiet etiķetes tekstu
pats.msgLabel.setText ('Poga ir nospiesta.')
# Izveidojiet lietotnes objektu un izpildiet lietotni
app = QApplication (sys.argv)
poga = ButtonExample ()
lietotne.exec ()

Pēc skripta izpildes parādīsies šāds logs.

Ja lietotājs noklikšķina uz Spied mani pogu, pēc tam zem pogas parādīsies paraksts.

2. piemērs: izveidojiet vairākas spiedpogas

Šis skripts izveidos vairākus spiedpogas, izmantojot QPushButton klasē. Skriptā tiek izveidotas divas pogas. Noklikšķinātais notikumspoga ir pievienota metodei ar nosaukumu btn1_onClicked (), un noklikšķinātais notikumspoga ir pievienota metodei ar nosaukumu btn2_onClicked (). Paraksts, kas izveidots zem pogām, parādīs norādīto ziņojumu, pamatojoties uz pogu, uz kuras noklikšķina lietotājs. The setGeometry () Funkcija tiek izmantota katrai etiķetei un pogai, lai iestatītu objektu pozīciju logā.

importa sys
no PyQt5.QtWidgets importē QApplication, QWidget, QPushButton, QLabel
klases MultiButtons (QWidget):
def __init __ (pats):
# Zvaniet vecāku konstruktoram
super ().__tajā__()
# Pogas augšdaļā definējiet etiķeti
pats.topLabel = QLabel ('

Vai jums patīk pitons?

", pats)
# Iestatiet etiķetes ģeometriju
pats.topLabel.setGeometry (100, 20, 290, 50)
# Izveidojiet pirmo pogu
pats.btn1 = QPushButton ('Jā', pats)
# Iestatiet pogas ģeometriju
pats.btn1.setGeometry (130, 70, 60, 40)
# Zvana funkcija, noklikšķinot uz pogas
pats.btn1.noklikšķinājis.savienot (sevi.btn1_onClicked)
# Izveidojiet otro pogu
pats.btn2 = QPushButton ('Nē', pats)
# Iestatiet pogas ģeometriju
pats.btn2.setGeometry (200, 70, 60, 40)
# Zvana funkcija, noklikšķinot uz pogas
pats.btn2.noklikšķinājis.savienot (sevi.btn2_onClicked)
# Pogas apakšdaļā definējiet etiķeti
pats.msgLabel = QLabel (", pats")
# Iestatiet etiķetes ģeometriju
pats.msgLabel.setGeometry (130, 120, 300, 80)
# Iestatiet loga nosaukumu
pats.setWindowTitle ('Vairāku spiedpogu izmantošana')
# Iestatiet galvenā loga ģeometriju
pats.setGeometry (10, 10, 400, 200)
# Iestatiet galvenā loga atrašanās vietu ekrānā
pats.pārvietot (850, 300)
# Parādīt logu
pats.rādīt ()
def btn1_onClicked (pats):
# Iestatiet tekstu apakšējai etiķetei
pats.msgLabel.setText ('

Jūs noklikšķinājāt uz Jā.

')
def btn2_onClicked (pats):
# Iestatiet tekstu apakšējai etiķetei
pats.msgLabel.setText ('

Jūs noklikšķinājāt uz Nē.

')
# Izveidojiet lietotnes objektu un izpildiet lietotni
app = QApplication (sys.argv)
poga = MultiButtons ()
lietotne.exec ()

Pēc skripta izpildes parādīsies šāds logs.

Ja lietotājs noklikšķina uz poga, ziņojums,Jūs noklikšķinājāt uz Jā'tiks parādīts kā etiķetes teksts.

Ja lietotājs noklikšķina uz poga, ziņojums,Jūs noklikšķinājāt uz Nē tiks parādīts kā etiķetes teksts.

Secinājums

QPushButton klase ļauj lietotājiem izveidot vienu vai vairākas pogas, pamatojoties uz lietojumprogrammas prasībām. Šī apmācība parādīja šīs klases izmantošanu vienas vai vairāku pogu izveidošanai, kā arī to, kā rīkoties ar pogu klikšķu notikumiem, izmantojot pielāgotas notikumu apstrādes funkcijas.

Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...
Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...
Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...