„Python“

Kaip naudotis PyQt QPushButton

Kaip naudotis PyQt QPushButton
Mygtukai naudojami GUI programose, atliekant įvairias operacijas, pagrįstas vartotojo sugeneruotais įvykiais. The QPushButton „PyQt“ klasė naudojama „Python“ programai reikalingiems mygtukams kurti. Ši klasė paveldi pagrindines QAbstractButton klasė. Tekstas ar piktogramos gali būti naudojami mygtukui užrašyti. Mygtukus galima suaktyvinti naudojant pelę ir klaviatūrą. Bet koks mygtuko įvykis, įskaitant mygtuką, kurį spustelėjama arba dukart spustelėjama, gali būti susietas su funkcija ar metodu, kaip tvarkyti įvykį. Šioje pamokoje parodoma, kaip sukurti įvairių tipų mygtukus naudojant QPushButton „PyQt“ klasė „Python“.

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 modulius
importuoti 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 sistemas
iš 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.

Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...
Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...
Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...