QPushButton módszerek
A QPushButton osztálynak számos módszere van a gombokkal kapcsolatos különféle feladatok végrehajtására. Ennek az osztálynak a leggyakrabban alkalmazott módszereit az alábbiakban említjük:
Módszer neve | Célja |
---|---|
szöveg() | A gomb feliratának elolvasására szolgál. |
setText () | Szöveg beállítására szolgál a gomb feliratában. |
setIcon () | Ikon beállítására szolgál a gomb feliratában. |
alapértelmezettre állítás() | Az alapértelmezett gomb beállítására szolgál. |
setEnabled () | A gombok engedélyezésére vagy letiltására szolgál. Értéke Igaz a gomb engedélyezésére szolgál, és értéke Hamis a gomb letiltására szolgál. |
setCheckable () | A gomb lenyomásának vagy felengedésének azonosítására szolgál. |
isChecked () | A gomb logikai értékének állapotának leolvasására szolgál. |
váltás () | Állapotok közötti váltáshoz használatos. Ha a gomb állapotának aktuális értéke Igaz, akkor az értékre változik Hamis, és fordítva. |
QPushButton használata
A következő szakaszok számos egyszerű példát tartalmaznak a használatának magyarázatára QPushButton.
1. példa: Hozzon létre egy egyszerű nyomógombot
A következő parancsfájl segítségével egyetlen gomb hozható létre az ablakban. A parancsfájl egy egyedi funkciót csatol a gomb kattintott eseményével annak ellenőrzésére, hogy a gombra kattintottak-e. Az ablakban megjelenik egy gomb, amely a kód végrehajtását követi. Ha a felhasználó rákattint a gombra, a szöveg "A gomb megnyomva" a címkén jelenik meg.
# Importálja a szükséges modulokatimport sys
a PyQt5-ből.A QtWidgets importálja a QApplication, QWidget, QPushButton, QLabel fájlokat
# Definiálja az osztályt egyetlen nyomógomb létrehozásához
class ButtonExample (QWidget):
def __init __ (én):
# Hívja a szülő konstruktort
szuper().__benne__()
# Hozzon létre egy gombot
maga.btn = QPushButton ('Click Me', önálló)
# Állítsa be a gomb eszközszövegét
maga.btn.setToolTip ('Ez egy egyszerű gomb')
# Állítsa be a gomb geometriáját
maga.btn.setGeometry (100, 20, 100, 30)
# Hívás funkció, amikor a gombra kattint
maga.btn.kattant.összekapcsolni (én.onClicked)
# Definiálja a címkét a gomb alján
maga.msgLabel = QLabel (", saját)
# Állítsa be a címke geometriáját
maga.msgLabel.setGeometry (90, 60, 290, 60)
# Állítsa be az ablak címét
maga.setWindowTitle ('A nyomógomb használata')
# Állítsa be a főablak geometriáját
maga.setGeometry (10, 10, 300, 150)
# Állítsa be a főablak helyzetét a képernyőn
maga.lépés (850, 300)
# Jelenítse meg az ablakot
maga.előadás()
# Definiálja a gomb kattintási eseményének kezelésére szolgáló funkciót
def onClicked (self):
# Szöveg beállítása a címkéhez
maga.msgLabel.setText ('A gombot megnyomjuk.')
# Hozzon létre alkalmazásobjektumot és hajtsa végre az alkalmazást
app = QApplication (sys.argv)
gomb = ButtonExample ()
kb.exec ()
A szkript végrehajtása után a következő ablak jelenik meg.
Ha a felhasználó rákattint a Kattints ide gombra, majd a következő szöveg jelenik meg a gomb alatti feliratban.
2. példa: Hozzon létre több nyomógombot
A következő parancsfájl több nyomógombot hoz létre a QPushButton osztály. Két gomb jön létre a szkriptben. A 'kattintott esemény a'Igen'gomb a nevű metódushoz van csatolva btn1_onClicked (), és a 'kattintott esemény'Nem'gomb a nevű metódushoz van csatolva btn2_onClicked (). A gombok alatt létrehozott felirat a megadott üzenetet jeleníti meg a felhasználó által kattintott gomb alapján. A setGeometry () funkció az egyes címkékhez és gombokhoz használható az objektumok helyzetének beállításához az ablakban.
import sysa PyQt5-ből.A QtWidgets importálja a QApplication, QWidget, QPushButton, QLabel fájlokat
osztály MultiButtons (QWidget):
def __init __ (én):
# Hívja a szülő konstruktort
szuper().__benne__()
# Definiálja a címkét a gomb tetején
maga.topLabel = QLabel ('
Tetszik a python?
', maga)# Állítsa be a címke geometriáját
maga.topLabel.setGeometry (100, 20, 290, 50)
# Hozza létre az első gombot
maga.btn1 = QPushButton ('Igen', önálló)
# Állítsa be a gomb geometriáját
maga.btn1.setGeometry (130, 70, 60, 40)
# Hívás funkció, amikor a gombra kattint
maga.btn1.kattant.összekapcsolni (én.btn1_onClicked)
# Hozza létre a második gombot
maga.btn2 = QPushButton ('Nem', önálló)
# Állítsa be a gomb geometriáját
maga.btn2.setGeometry (200, 70, 60, 40)
# Hívás funkció, amikor a gombra kattint
maga.btn2.kattant.összekapcsolni (én.btn2_onClicked)
# Definiálja a címkét a gomb alján
maga.msgLabel = QLabel (", saját)
# Állítsa be a címke geometriáját
maga.msgLabel.setGeometry (130, 120, 300, 80)
# Állítsa be az ablak címét
maga.setWindowTitle ('Több nyomógomb használata')
# Állítsa be a főablak geometriáját
maga.setGeometry (10, 10, 400, 200)
# Állítsa be a főablak helyzetét a képernyőn
maga.lépés (850, 300)
# Jelenítse meg az ablakot
maga.előadás()
def btn1_onClicked (self):
# Állítsa be az alsó címke szövegét
maga.msgLabel.setText ('
Az Igen gombra kattintott.
')def btn2_onClicked (self):
# Állítsa be az alsó címke szövegét
maga.msgLabel.setText ('
A Nem gombra kattintott.
')# Hozzon létre alkalmazásobjektumot és hajtsa végre az alkalmazást
app = QApplication (sys.argv)
gomb = MultiButtons ()
kb.exec ()
A szkript végrehajtása után a következő ablak jelenik meg.
Ha a felhasználó rákattint a Igen gomb, az üzenet, 'Az Igen gombra kattintott'felirat szövegként jelenik meg.
Ha a felhasználó rákattint a Nem gomb, az üzenet, 'A Nem gombra kattintott címkeszövegként jelenik meg.
Következtetés
A QPushButton osztály lehetővé teszi a felhasználók számára, hogy egy vagy több gombot létrehozzanak az alkalmazás követelményeinek megfelelően. Ez az oktatóanyag bemutatta ennek az osztálynak a használatát egy vagy több gomb létrehozásához, valamint azt, hogy miként kezelhetők a gombok kattintási eseményei az egyedi eseménykezelő funkciók használatával.