QPushButton metodai
The QPushButton klasėje yra daug būdų atlikti įvairias su mygtuku susijusias užduotis. Kai kurie šios klasės dažniausiai naudojami metodai yra paminėti žemiau:
Metodo pavadinimas | Tikslas |
---|---|
tekstas () | Naudojamas mygtuko antraštei perskaityti. |
setText () | Naudojamas norint nustatyti tekstą mygtuko antraštėje. |
setIcon () | Naudojamas mygtuko antraštėje nustatyti piktogramą. |
nustatyti numatytąjį() | Naudojamas nustatyti numatytąjį mygtuką. |
setEnabled () | Naudojamas mygtukams įjungti arba išjungti. Vertė Tiesa naudojamas mygtukui įjungti ir reikšmė Klaidinga naudojamas mygtukui išjungti. |
setCheckable () | Naudojamas nustatyti, ar mygtukas paspaustas, ar atleistas. |
isChecked () | Naudojamas nuskaityti mygtuko būseną, kuri yra loginė reikšmė. |
perjungti () | Naudojamas perjungti būsenas. Jei esama mygtuko būsenos reikšmė yra Tiesa, tada reikšmė pasikeis į Klaidinga, ir atvirkščiai. |
„QPushButton“ naudojimas
Tolesniuose skyriuose pateikiami keli paprasti pavyzdžiai, paaiškinantys QPushButton.
1 pavyzdys: sukurkite paprastą mygtuką
Šis scenarijus naudojamas norint sukurti vieną mygtuką lange. Scenarijus pridės pasirinktinę funkciją su spustelėtu mygtuko įvykiu, kad patikrintų, ar mygtukas nebuvo spustelėtas. Lange bus rodomas mygtukas, vykdantis kodo vykdymą. Jei vartotojas spusteli mygtuką, tekstas „Paspaudžiamas mygtukas“ bus rodoma etiketėje.
# Importuokite būtinus moduliusimportuoti sistemas
iš PyQt5.„QtWidgets“ importuoja „QApplication“, „QWidget“, „QPushButton“, „QLabel“
# Apibrėžkite klasę, kad sukurtumėte vieną mygtuką
klasės mygtuko pavyzdys (QWidget):
def __init __ (savęs):
# Skambinkite tėvų konstruktoriui
super ().__init __ ()
# Sukurkite mygtuką
savarankiškai.btn = QPushButton („Spustelėkite mane“, pats)
# Nustatykite mygtuko patarimo tekstą
savarankiškai.btn.setToolTip ('Tai paprastas mygtukas')
# Nustatykite mygtuko geometriją
savarankiškai.btn.setGeometry (100, 20, 100, 30)
# Skambinimo funkcija, kai paspaudžiamas mygtukas
savarankiškai.btn.spustelėjo.prisijungti (savarankiškai.onClicked)
# Apibrėžkite etiketę mygtuko apačioje
savarankiškai.msgLabel = QLabel (", savarankiškai)
# Nustatykite etiketės geometriją
savarankiškai.msgLabel.setGeometry (90, 60, 290, 60)
# Nustatykite lango pavadinimą
savarankiškai.setWindowTitle ('PushButton naudojimas')
# Nustatykite pagrindinio lango geometriją
savarankiškai.setGeometry (10, 10, 300, 150)
# Nustatykite pagrindinio lango vietą ekrane
savarankiškai.judėti (850, 300)
# Rodyti langą
savarankiškai.Rodyti()
# Apibrėžkite funkciją, leidžiančią valdyti mygtuko paspaudimo įvykį
def onClicked (savarankiškai):
# Nustatykite etiketės tekstą
savarankiškai.msgLabel.setText ('Paspaudžiamas mygtukas.„)
# Sukurkite programos objektą ir vykdykite programą
app = QApplication (sys.argv)
mygtukas = ButtonExample ()
programa.exec ()
Vykdant scenarijų pasirodys šis langas.
Jei vartotojas spusteli Paspausk mane mygtuką, tada po mygtuku esančiame antraštėje pasirodys toks tekstas.
2 pavyzdys: sukurkite kelis mygtukus
Šis scenarijus sukurs kelis mygtukus naudodamas QPushButton klasė. Scenarijuje sukurti du mygtukai. Spustelėtas įvykisTaipmygtukas pridedamas prie pavadinto metodo btn1_onClicked (), ir spustelėtas įvykisNemygtukas pridedamas prie pavadinto metodo btn2_onClicked (). Po mygtukais sukurtas užrašas parodys nurodytą pranešimą pagal mygtuką, kurį spustelėjo vartotojas. The setGeometry () funkcija naudojama kiekvienai etiketei ir mygtukui nustatyti objektų vietą lange.
importuoti sistemasiš PyQt5.„QtWidgets“ importuoja „QApplication“, „QWidget“, „QPushButton“, „QLabel“
klasės „MultiButtons“ („QWidget“):
def __init __ (savęs):
# Skambinkite tėvų konstruktoriui
super ().__init __ ()
# Apibrėžkite etiketę mygtuko viršuje
savarankiškai.topLabel = QLabel ('
Ar jums patinka pitonas?
', savarankiškai)# Nustatykite etiketės geometriją
savarankiškai.topLabel.setGeometry (100, 20, 290, 50)
# Sukurkite pirmąjį mygtuką
savarankiškai.btn1 = QPushButton („Taip“, savarankiškai)
# Nustatykite mygtuko geometriją
savarankiškai.btn1.setGeometry (130, 70, 60, 40)
# Skambinimo funkcija, kai paspaudžiamas mygtukas
savarankiškai.btn1.spustelėjo.prisijungti (savarankiškai.btn1_onClicked)
# Sukurkite antrąjį mygtuką
savarankiškai.btn2 = QPushButton („Ne“, pats)
# Nustatykite mygtuko geometriją
savarankiškai.btn2.setGeometry (200, 70, 60, 40)
# Skambinimo funkcija, kai paspaudžiamas mygtukas
savarankiškai.btn2.spustelėjo.prisijungti (savarankiškai.btn2_onClicked)
# Apibrėžkite etiketę mygtuko apačioje
savarankiškai.msgLabel = QLabel (", savarankiškai)
# Nustatykite etiketės geometriją
savarankiškai.msgLabel.setGeometry (130, 120, 300, 80)
# Nustatykite lango pavadinimą
savarankiškai.setWindowTitle ('Kelių mygtukų naudojimas')
# Nustatykite pagrindinio lango geometriją
savarankiškai.setGeometry (10, 10, 400, 200)
# Nustatykite pagrindinio lango vietą ekrane
savarankiškai.judėti (850, 300)
# Rodyti langą
savarankiškai.Rodyti()
def btn1_onClicked (savarankiškai):
# Nustatykite apatinės etiketės tekstą
savarankiškai.msgLabel.setText ('
Spustelėjote Taip.
„)def btn2_onClicked (savarankiškai):
# Nustatykite apatinės etiketės tekstą
savarankiškai.msgLabel.setText ('
Spustelėjote „Ne“.
„)# Sukurkite programos objektą ir vykdykite programą
app = QApplication (sys.argv)
mygtukas = MultiButtons ()
programa.exec ()
Vykdant scenarijų pasirodys šis langas.
Jei vartotojas spusteli Taip mygtukas, pranešimas “Spustelėjote Taip'bus rodomas kaip etiketės tekstas.
Jei vartotojas spusteli Ne mygtukas, pranešimas “Spustelėjote „Ne“ bus rodomas kaip etiketės tekstas.
Išvada
„QPushButton“ klasė leidžia vartotojams sukurti vieną ar daugiau mygtukų, atsižvelgiant į programos reikalavimus. Ši pamoka parodė šios klasės naudojimą kuriant vieną ar kelis mygtukus, taip pat kaip valdyti mygtukų paspaudimų įvykius naudojant pasirinktines įvykių tvarkymo funkcijas.