Krajta

Jak používat PyQt QPushButton

Jak používat PyQt QPushButton
Tlačítka se v aplikacích GUI používají k provádění různých operací na základě událostí generovaných uživatelem. The QPushButton třída PyQt se v Pythonu používá k vytváření tlačítek požadovaných aplikací. Tato třída dědí základní funkce Tlačítko QAbstract třída. K označení tlačítka lze použít text nebo ikony. Tlačítka lze aktivovat pomocí myši a klávesnice. K funkci nebo metodě ke zpracování události lze přidružit libovolnou událost tlačítka, včetně tlačítka, na které kliknete nebo na něj dvakrát kliknete. Tento výukový program vám ukáže, jak vytvořit různé typy tlačítek pomocí QPushButton třída PyQt v Pythonu.

Metody QPushButton

The QPushButton třída má mnoho metod k provádění různých úkolů souvisejících s tlačítky. Níže jsou uvedeny některé z běžněji používaných metod této třídy:

Název metody Účel
text() Slouží ke čtení titulku tlačítka.
setText () Slouží k nastavení textu v titulku tlačítka.
setIcon () Slouží k nastavení ikony v titulku tlačítka.
setDefault () Slouží k nastavení výchozího tlačítka.
setEnabled () Slouží k povolení nebo zakázání tlačítek. Hodnota Skutečný se používá k povolení tlačítka a hodnota Nepravdivé slouží k deaktivaci tlačítka.
setCheckable () Slouží k identifikaci, zda je tlačítko stisknuto nebo uvolněno.
isChecked () Slouží ke čtení stavu tlačítka, které je logickou hodnotou.
přepnout () Slouží k přepínání mezi stavy. Pokud je aktuální hodnota stavu tlačítka Skutečný, pak se hodnota změní na Nepravdivé, a naopak.

Použití QPushButton

Následující části poskytují několik jednoduchých příkladů k vysvětlení použití QPushButton.

Příklad 1: Vytvoření jednoduchého tlačítka

Následující skript slouží k vytvoření jediného tlačítka v okně. Skript připojí vlastní funkci s kliknutou událostí tlačítka a zkontroluje, zda bylo kliknuto na tlačítko. V okně se zobrazí tlačítko následující po provedení kódu. Pokud uživatel klikne na tlačítko, text „Je stisknuto tlačítko“ se zobrazí na štítku.

# Importujte potřebné moduly
import sys
z PyQt5.QtWidgets importují QApplication, QWidget, QPushButton, QLabel
# Definujte třídu pro vytvoření jediného tlačítka
třída ButtonExample (QWidget):
def __init __ (vlastní):
# Zavolejte konstruktora rodiče
super ().__init __ ()
# Vytvořte tlačítko
já.btn = QPushButton ('Click Me', self)
# Nastavit text popisu tlačítka
já.btn.setToolTip ('Toto je jednoduché tlačítko')
# Nastavte geometrii tlačítka
já.btn.setGeometry (100, 20, 100, 30)
# Funkce volání po kliknutí na tlačítko
já.btn.klikl.připojit (já.onClicked)
# Definujte štítek ve spodní části tlačítka
já.msgLabel = QLabel (", vlastní)
# Nastavte geometrii štítku
já.msgLabel.setGeometry (90, 60, 290, 60)
# Nastavte název okna
já.setWindowTitle ('Use of PushButton')
# Nastavte geometrii hlavního okna
já.setGeometry (10, 10, 300, 150)
# Nastavte polohu hlavního okna na obrazovce
já.tah (850, 300)
# Zobrazte okno
já.ukázat()
# Definujte funkci pro zpracování události kliknutí na tlačítko
def onClicked (self):
# Nastavit text štítku
já.msgLabel.setText ('Je stisknuto tlačítko.')
# Vytvořte objekt aplikace a spusťte aplikaci
aplikace = QApplication (sys.argv)
button = ButtonExample ()
aplikace.exec ()

Po spuštění skriptu se zobrazí následující okno.

Pokud uživatel klikne na Klikni na mě tlačítko, pak se v titulku pod tlačítkem objeví následující text.

Příklad 2: Vytvoření více tlačítek

Následující skript vytvoří více tlačítek pomocí QPushButton třída. Ve skriptu jsou vytvořena dvě tlačítka. Kliknutá událostAnoTlačítko je připojeno k metodě s názvem btn1_onClicked (), a kliknutá událostNeTlačítko je připojeno k metodě s názvem btn2_onClicked (). Titulek vytvořený pod tlačítky zobrazí zadanou zprávu na základě tlačítka, na které uživatel klikl. The setGeometry () funkce se používá pro každý štítek a tlačítko pro nastavení polohy objektů v okně.

import sys
z PyQt5.QtWidgets importují QApplication, QWidget, QPushButton, QLabel
třída MultiButtons (QWidget):
def __init __ (vlastní):
# Zavolejte konstruktora rodiče
super ().__init __ ()
# Definujte štítek v horní části tlačítka
já.topLabel = QLabel ('

Máte rádi python?

', já)
# Nastavte geometrii štítku
já.topLabel.setGeometry (100, 20, 290, 50)
# Vytvořte první tlačítko
já.btn1 = QPushButton ('Ano', já)
# Nastavte geometrii tlačítka
já.btn1.setGeometry (130, 70, 60, 40)
# Funkce volání po kliknutí na tlačítko
já.btn1.klikl.připojit (já.btn1_onClicked)
# Vytvořte druhé tlačítko
já.btn2 = QPushButton ('Ne', já)
# Nastavte geometrii tlačítka
já.btn2.setGeometry (200, 70, 60, 40)
# Funkce volání po kliknutí na tlačítko
já.btn2.klikl.připojit (já.btn2_onClicked)
# Definujte štítek ve spodní části tlačítka
já.msgLabel = QLabel (", vlastní)
# Nastavte geometrii štítku
já.msgLabel.setGeometry (130, 120, 300, 80)
# Nastavte název okna
já.setWindowTitle ('Použití více tlačítek')
# Nastavte geometrii hlavního okna
já.setGeometry (10, 10, 400, 200)
# Nastavte polohu hlavního okna na obrazovce
já.tah (850, 300)
# Zobrazte okno
já.ukázat()
def btn1_onClicked (self):
# Nastavit text pro spodní štítek
já.msgLabel.setText ('

Klikli jste na Ano.

')
def btn2_onClicked (self):
# Nastavit text pro spodní štítek
já.msgLabel.setText ('

Klikli jste na Ne.

')
# Vytvořte objekt aplikace a spusťte aplikaci
aplikace = QApplication (sys.argv)
tlačítko = MultiButtons ()
aplikace.exec ()

Po spuštění skriptu se zobrazí následující okno.

Pokud uživatel klikne na Ano tlačítko, zpráva, 'Klikli jste na Ano'se zobrazí jako text štítku.

Pokud uživatel klikne na Ne tlačítko, zpráva, 'Klikli jste na Ne se zobrazí jako text štítku.

Závěr

Třída QPushButton umožňuje uživatelům vytvářet jedno nebo více tlačítek na základě požadavků aplikace. Tento kurz ukázal použití této třídy pro vytváření jednoho nebo více tlačítek a také způsob zpracování událostí kliknutí u tlačítek pomocí vlastních funkcí obsluhy událostí.

Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...
Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...