Python

Ako používať PyQt QPushButton

Ako používať PyQt QPushButton
Tlačidlá sa v aplikáciách GUI používajú na vykonávanie rôznych operácií na základe udalostí generovaných používateľom. The QPushButton trieda PyQt sa v Pythone používa na vytváranie tlačidiel požadovaných aplikáciou. Táto trieda dedí základné funkcionality QAbstractButton trieda. Na označenie tlačidla je možné použiť text alebo ikony. Tlačidlá je možné aktivovať pomocou myši a klávesnice. K funkcii alebo metóde na spracovanie udalosti je možné priradiť ľubovoľnú udalosť tlačidla, vrátane kliknutia na tlačidlo alebo dvojitého kliknutia na toto tlačidlo. Tento tutoriál vám ukáže, ako vytvoriť rôzne typy tlačidiel pomocou QPushButton trieda PyQt v Pythone.

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é moduly
import 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 sys
z 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í.

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvorenie vlastnej simulácie dopravy môže byť zábavné, relaxačné a mimoriadne lákavé. Preto sa musíte uistiť, že vyskúšate čo najviac hier, aby ste n...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z najpopulárnejších obchodných simulačných hier. V tejto hre musíte vytvoriť úžasné dopravné podnikanie. Začnete však na začiatku ok...
Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...