Python

Kuidas kasutada PyQt QPushButton

Kuidas kasutada PyQt QPushButton
Nuppe kasutatakse GUI-rakendustes erinevate toimingute tegemiseks kasutaja loodud sündmuste põhjal. The QPushButton klassi PyQt kasutatakse Pythonis rakenduse jaoks vajalike nuppude loomiseks. See klass pärib põhifunktsioonid QAbstraatnupp klass. Nupu pealdiseks saab kasutada teksti või ikoone. Nuppe saab aktiveerida hiire ja klaviatuuri abil. Mis tahes nupusündmust, sealhulgas nuppu, millel klõpsatakse või topeltklõpsatakse, saab seostada sündmuse käitlemise funktsiooni või meetodiga. See juhendaja näitab teile, kuidas luua erinevat tüüpi nuppe nupu abil QPushButton klassi PyQt Pythonis.

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 moodulid
impordi 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üsteem
alates 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.

X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...
Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...