Piton

A PyQt QPushButton használata

A PyQt QPushButton használata
A gombokat a GUI alkalmazásokban különféle műveletek végrehajtására használják a felhasználó által generált események alapján. A QPushButton A PyQt osztálya a Pythonban használható az alkalmazás által igényelt gombok létrehozására. Ez az osztály örökli a QAbstractButton osztály. Szöveg vagy ikonok használhatók a gomb feliratára. A gombok egérrel és billentyűzettel aktiválhatók. Bármely gombesemény, beleértve a kattintott vagy duplán kattintott gombot, társítható az esemény kezeléséhez szükséges funkcióval vagy módszerrel. Ez az oktatóanyag bemutatja, hogyan hozhat létre különféle gombokat a QPushButton osztály PyQt a Pythonban.

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 modulokat
import 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 sys
a 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.

OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...
OpenTTD bemutató
Az OpenTTD az egyik legnépszerűbb üzleti szimulációs játék. Ebben a játékban létre kell hoznia egy csodálatos szállítási vállalkozást. Azonban kezdete...
SuperTuxKart Linuxhoz
A SuperTuxKart egy nagyszerű cím, amelynek célja, hogy ingyenesen hozza el a Mario Kart élményét Linux rendszerén. Elég kihívást jelentő és szórakozta...