Metódy QPushButton
The QPushButton trieda má veľa metód na vykonávanie rôznych úloh týkajúcich sa tlačidiel. Nižšie sú uvedené niektoré z bežne používaných metód tejto triedy:
Názov metódy | Účel |
---|---|
text () | Slúži na prečítanie titulku tlačidla. |
setText () | Slúži na nastavenie textu v popise tlačidla. |
setIcon () | Používa sa na nastavenie ikony v popise tlačidla. |
setDefault () | Používa sa na nastavenie predvoleného tlačidla. |
setEnabled () | Používa sa na povolenie alebo zakázanie tlačidiel. Hodnota Pravdaže sa používa na povolenie tlačidla a hodnota Falošné sa používa na deaktiváciu tlačidla. |
setCheckable () | Používa sa na identifikáciu toho, či je tlačidlo stlačené alebo uvoľnené. |
isChecked () | Používa sa na načítanie stavu tlačidla, ktoré je logickou hodnotou. |
prepnúť () | Slúži na prepínanie medzi stavmi. Ak je aktuálna hodnota stavu tlačidla Pravdaže, potom sa hodnota zmení na Falošné, a naopak. |
Používanie QPushButton
Nasledujúce časti poskytujú niekoľko jednoduchých príkladov na vysvetlenie použitia aplikácie QPushButton.
Príklad 1: Vytvorenie jednoduchého tlačidla
Nasledujúci skript sa používa na vytvorenie jediného tlačidla v okne. Skript pripojí vlastnú funkciu s udalosťou kliknutia na tlačidlo, aby skontroloval, či bolo kliknuté na tlačidlo. V okne sa zobrazí tlačidlo nasledujúce po vykonaní kódu. Ak používateľ klikne na tlačidlo, text „Je stlačené tlačidlo“ sa zobrazí v štítku.
# Importujte potrebné modulyimport sys
z PyQt5.QtWidgets importujú QApplication, QWidget, QPushButton, QLabel
# Definujte triedu a vytvorte jediné tlačidlo
trieda ButtonExample (QWidget):
def __init __ (self):
# Zavolajte nadradeného konštruktéra
Super().__init __ ()
# Vytvorte tlačidlo
ja.btn = QPushButton ('Click Me', self)
# Nastaviť text popisu tlačidla
ja.btn.setToolTip ('Toto je jednoduché tlačidlo')
# Nastavte geometriu tlačidla
ja.btn.setGeometry (100, 20, 100, 30)
# Volacia funkcia po kliknutí na tlačidlo
ja.btn.klikli.spojiť (seba.onClicked)
# Definujte štítok v dolnej časti tlačidla
ja.msgLabel = QLabel (", sám)
# Nastavte geometriu štítku
ja.msgLabel.setGeometry (90, 60, 290, 60)
# Nastavte názov okna
ja.setWindowTitle ('Použitie tlačidla PushButton')
# Nastavte geometriu hlavného okna
ja.setGeometry (10, 10, 300, 150)
# Nastavte pozíciu hlavného okna na obrazovke
ja.ťah (850, 300)
# Zobrazte okno
ja.šou()
# Definujte funkciu na spracovanie udalosti kliknutia na tlačidlo
def onClicked (self):
# Nastaviť text štítku
ja.msgLabel.setText ('Je stlačené tlačidlo.")
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
button = ButtonExample ()
aplikácia.exec ()
Po vykonaní skriptu sa zobrazí nasledujúce okno.
Ak používateľ klikne na ikonu Klikni na mňa potom sa v titulku pod týmto tlačidlom zobrazí nasledujúci text.
Príklad 2: Vytvorenie viacerých tlačidiel
Nasledujúci skript vytvorí pomocou tlačidla niekoľko tlačidiel QPushButton trieda. V skripte sú vytvorené dve tlačidlá. Kliknutá udalosť 'ÁnoTlačidlo 'je pripojené k metóde s názvom btn1_onClicked (), a kliknutá udalosťNieTlačidlo 'je pripojené k metóde s názvom btn2_onClicked (). Nadpis vytvorený pod tlačidlami zobrazí zadanú správu na základe tlačidla, na ktoré používateľ klikol. The setGeometry () funkcia sa používa pre každý štítok a tlačidlo na nastavenie polohy objektov v okne.
import sysz PyQt5.QtWidgets importujú QApplication, QWidget, QPushButton, QLabel
trieda MultiButtons (QWidget):
def __init __ (self):
# Zavolajte nadradeného konštruktéra
Super().__init __ ()
# Definujte štítok v hornej časti tlačidla
ja.topLabel = QLabel ('
Máte radi pytóna?
„sám)# Nastavte geometriu štítku
ja.topLabel.setGeometry (100, 20, 290, 50)
# Vytvorte prvé tlačidlo
ja.btn1 = QPushButton ('Áno', sám)
# Nastavte geometriu tlačidla
ja.btn1.setGeometry (130, 70, 60, 40)
# Volacia funkcia po kliknutí na tlačidlo
ja.btn1.klikli.spojiť (seba.btn1_onClicked)
# Vytvorte druhé tlačidlo
ja.btn2 = QPushButton ('Nie', sám)
# Nastavte geometriu tlačidla
ja.btn2.setGeometry (200, 70, 60, 40)
# Volacia funkcia po kliknutí na tlačidlo
ja.btn2.klikli.spojiť (seba.btn2_onClicked)
# Definujte štítok v dolnej časti tlačidla
ja.msgLabel = QLabel (", sám)
# Nastavte geometriu štítku
ja.msgLabel.setGeometry (130, 120, 300, 80)
# Nastavte názov okna
ja.setWindowTitle ('Použitie viacerých tlačidiel')
# Nastavte geometriu hlavného okna
ja.setGeometry (10, 10, 400, 200)
# Nastavte pozíciu hlavného okna na obrazovke
ja.ťah (850, 300)
# Zobrazte okno
ja.šou()
def btn1_onClicked (self):
# Nastaviť text pre spodný štítok
ja.msgLabel.setText ('
Klikli ste na Áno.
")def btn2_onClicked (self):
# Nastaviť text pre spodný štítok
ja.msgLabel.setText ('
Klikli ste na Nie.
")# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
tlačidlo = MultiButtons ()
aplikácia.exec ()
Po vykonaní skriptu sa zobrazí nasledujúce okno.
Ak používateľ klikne na ikonu Áno tlačidlo, správa, 'Klikli ste na Ánosa zobrazí ako text štítku.
Ak používateľ klikne na ikonu Nie tlačidlo, správa, 'Klikli ste na Nie ' sa zobrazí ako text štítku.
Záver
Trieda QPushButton umožňuje používateľom vytvoriť jedno alebo viac tlačidiel na základe požiadaviek aplikácie. Tento tutoriál ukázal použitie tejto triedy na vytvorenie jedného alebo viacerých tlačidiel, ako aj spôsob spracovania udalostí kliknutí u tlačidiel pomocou vlastných funkcií obsluhy udalostí.