QPushButtoni meetodid
The QPushButton klassil on palju meetodeid erinevate nupuga seotud ülesannete täitmiseks. Mõned selle klassi sagedamini kasutatavad meetodid on toodud allpool:
Meetodi nimi | Eesmärk |
---|---|
tekst () | Kasutatakse nupu pealdise lugemiseks. |
setText () | Kasutatakse teksti määramiseks nupu pealdises. |
setIcon () | Kasutatakse ikooni määramiseks nupu pealdises. |
Määra vaikimisi() | Kasutatakse vaikenupu määramiseks. |
setEnabled () | Kasutatakse nuppude lubamiseks või keelamiseks. Väärtus on Tõsi nupu lubamiseks kasutatakse väärtust Vale kasutatakse nupu keelamiseks. |
setCheckable () | Kasutatakse nupu vajutamise või vabastamise tuvastamiseks. |
isChecked () | Kasutatakse tõeväärtusega nupu oleku lugemiseks. |
vahetama () | Kasutatakse olekute vahel vahetamiseks. Kui nupu oleku praegune väärtus on Tõsi, siis muutub väärtus väärtuseks Vale, ja vastupidi. |
QPushButtoni kasutamine
Järgmistes jaotistes on toodud mitu lihtsat näidet, kuidas seda kasutada QPushButton.
Näide 1: looge lihtne nuppu
Ühe nupu loomiseks aknas kasutatakse järgmist skripti. Skript lisab nupu klõpsatud sündmusega kohandatud funktsiooni, et kontrollida, kas nupul on klõpsatud. Aknas kuvatakse nupp, mis järgneb koodi täitmisele. Kui kasutaja klõpsab nuppu, kuvatakse tekst "Nupp on vajutatud" kuvatakse sildil.
# Impordi vajalikud moodulidimpordi süsteem
alates PyQt5.QtWidgetid impordivad QApplicationit, QWidgetit, QPushButtonit, QLabel'i
# Määrake klass ühe nupu loomiseks
klassi ButtonExample (QWidget):
def __init __ (ise):
# Kõne vanemkonstruktorile
Super().__selles__()
# Looge nupp
ise.btn = QPushButton (klõpsake mind, ise)
# Määra nupule tööriistavihje tekst
ise.btn.setToolTip ('See on lihtne nupp')
# Määrake nupu geomeetria
ise.btn.setGeometry (100, 20, 100, 30)
# Kõnefunktsioon, kui nupul klõpsatakse
ise.btn.klõpsatud.ühendama (ise.onClicked)
# Defineeri silt nupu allosas
ise.msgLabel = QLabel (", ise)
# Määrake sildi geomeetria
ise.msgLabel.setGeometry (90, 60, 290, 60)
# Määrake akna pealkiri
ise.setWindowTitle ('PushButtoni kasutamine')
# Määrake peaakna geomeetria
ise.setGeometry (10, 10, 300, 150)
# Määrake põhiakna asukoht ekraanil
ise.liikuma (850, 300)
# Kuva aken
ise.näita ()
# Defineeri funktsioon nupu klõpsamise korral
def onClicked (ise):
# Määra sildi tekst
ise.msgLabel.setText ('nuppu vajutatakse.')
# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
nupp = ButtonExample ()
rakendus.exec ()
Pärast skripti käivitamist ilmub järgmine aken.
Kui kasutaja klõpsab nuppu Klõpsake mind nuppu, siis kuvatakse nupu all olevas pealdises järgmine tekst.
Näide 2: Looge mitu nuppu
Järgmine skript loob mitu nuppu, kasutades nuppu QPushButton klass. Skriptis luuakse kaks nuppu. Klõpsatud sündmusJahnupp on lisatud meetodile nimega btn1_onClicked (), ja klõpsatud sündmusEinupp on lisatud meetodi nimega btn2_onClicked (). Nuppude all loodud pealdis kuvab määratud sõnumi vastavalt kasutaja klõpsatud nupule. The setGeometry () Funktsiooni kasutatakse iga sildi ja nupu jaoks objektide asukoha määramiseks aknas.
impordi süsteemalates PyQt5.QtWidgetid impordivad QApplicationit, QWidgetit, QPushButtonit, QLabel'i
klass MultiButtons (QWidget):
def __init __ (ise):
# Kõne vanemkonstruktorile
Super().__selles__()
# Defineeri silt nupu ülaosas
ise.topLabel = QLabel ('
Kas sulle meeldib python?
", ise)# Määrake sildi geomeetria
ise.topLabel.setGeometry (100, 20, 290, 50)
# Looge esimene nupp
ise.btn1 = QPushButton ('Jah', ise)
# Määrake nupu geomeetria
ise.btn1.setGeometry (130, 70, 60, 40)
# Kõnefunktsioon, kui nupul klõpsatakse
ise.btn1.klõpsatud.ühendama (ise.btn1_onClicked)
# Looge teine nupp
ise.btn2 = QPushButton ('Ei', ise)
# Määrake nupu geomeetria
ise.btn2.setGeometry (200, 70, 60, 40)
# Kõnefunktsioon, kui nupul klõpsatakse
ise.btn2.klõpsatud.ühendama (ise.btn2_onClicked)
# Defineeri silt nupu allosas
ise.msgLabel = QLabel (", ise)
# Määrake sildi geomeetria
ise.msgLabel.setGeometry (130, 120, 300, 80)
# Määrake akna pealkiri
ise.setWindowTitle ('Mitme nupu kasutamine')
# Määrake peaakna geomeetria
ise.setGeometry (10, 10, 400, 200)
# Määrake põhiakna asukoht ekraanil
ise.liikuma (850, 300)
# Kuva aken
ise.näita ()
def btn1_onClicked (ise):
# Määra teksti alumise sildi jaoks
ise.msgLabel.setText ('
Klõpsasite Jah.
')def btn2_onClicked (ise):
# Määra teksti alumise sildi jaoks
ise.msgLabel.setText ('
Klõpsasite nupul Ei.
')# Loo rakenduse objekt ja käivitage rakendus
app = QApplication (sys.argv)
nupp = Mitu nuppu ()
rakendus.exec ()
Pärast skripti käivitamist ilmub järgmine aken.
Kui kasutaja klõpsab nuppu Jah nupp, teade, 'Klõpsasite Jah"kuvatakse sildi tekstina.
Kui kasutaja klõpsab nuppu Ei nupp, teade, 'Klõpsasite nuppu Ei kuvatakse silditekstina.
Järeldus
Klass QPushButton võimaldab kasutajatel luua rakenduse nõuetest lähtuvalt ühe või mitu nuppu. See õpetus näitas selle klassi kasutamist ühe või mitme nupu loomisel ning seda, kuidas nuppude klõpsamise sündmusi kohandatud sündmuste käitleja funktsioonide abil käsitseda.