Krajta

Jak používat PyQt QMessageBox

Jak používat PyQt QMessageBox
Okno se zprávou se v aplikaci GUI používá k poskytnutí potřebných informací pro uživatele nebo k vyzvání uživatele k provedení akcí na základě zprávy. Pro libovolnou aplikaci grafického uživatelského rozhraní lze vytvořit čtyři typy schránek se zprávami, včetně pole s informačními zprávami, pole s varovnými zprávami, pole s kritickými zprávami a pole se zprávou s otázkami. The QMessageBox třída PyQt se v Pythonu používá k vytvoření schránky se zprávou. V tomto kurzu se dozvíte, jak pomocí třídy QMessageBox vytvářet různé schránky zpráv.

Nezbytné metody

Třída QMessageBox má mnoho metod pro vytváření různých typů schránek zpráv. Níže jsou popsány některé z běžněji používaných metod třídy QMessageBox:

Názvy metod  Účel
setTitle () Slouží k zobrazení vlastního názvu.
setText () Slouží k nastavení textu hlavní zprávy.
setDetailText () Slouží k zobrazení okna s tlačítkem podrobností; text zprávy se zobrazí poté, co uživatel klikne na tlačítko.
setInformativeText Slouží k zobrazení další zprávy.
setIcon () Slouží k nastavení ikony v okně se zprávou na základě typu zprávy.
setWindowTitle () Slouží k nastavení názvu okna zprávy.
setDefaultButton () Používá se k nastavení tlačítka ve výchozím nastavení okna se zprávou; tlačítko uvolní klikaný signál, když Enter stisknuto tlačítko.
setEscapeButton () Slouží k nastavení libovolného tlačítka, aby fungovalo jako klávesa Escape; tlačítko uvolní klikaný signál, když Uniknout stisknuto tlačítko.
setStandardButtons () V okně se zprávou lze použít různá standardní tlačítka podle typu zprávy, například OK, Ano, Ne, Storno, Zavřít atd.

Použití QMessageBoxu

Následující části tohoto kurzu poskytují příklady, které vám ukážou, jak pomocí třídy QMessageBox vytvořit různá okna zpráv.

Příklad 1: Vytvoření informační schránky zpráv

Následující skript vytvoří jednoduchou informační schránku pomocí třídy QMessageBox. Tento typ pole se zprávou poskytuje informační zprávu pouze pro uživatele. OK je výchozí tlačítko v okně se zprávou. Tady, QMessageBox.Informace se používá v setIcon () způsob zobrazení informační ikony v okně se zprávou.

# Importujte potřebné moduly
import sys
z PyQt5.QtWidgets importují QApplication, QMainWindow, QMessageBox
# Definovat třídu pro zobrazení informační zprávy
třída MessageWindow (QMainWindow):
def __init __ (vlastní):
# Zavolejte nadřazeného konstruktora
super ().__init __ ()
# Vytvořte objekt schránky zpráv
já.msg = QMessageBox ()
# Nastavte informační ikonu
já.zpráva.setIcon (QMessageBox.Informace)
# Nastavte hlavní zprávu
já.zpráva.setText ("Úkol je úspěšně dokončen.")
# Nastavte název okna
já.zpráva.setWindowTitle ("Informační zpráva")
# Zobrazte okno se zprávou
já.zpráva.ukázat()
# Vytvořte objekt aplikace a spusťte aplikaci
aplikace = QApplication (sys.argv)
Win = MessageWindow ()
aplikace.exec ()

Po provedení výše uvedeného skriptu se zobrazí následující okno se zprávou.

Příklad 2: Vytvořte varovnou zprávu

Následující skript vytvoří varovnou zprávu pomocí třídy QMessageBox. Tento typ pole se zprávou poskytuje varovnou zprávu pro uživatele. The Varování se používá v setIcon () způsob zobrazení ikony varování v okně se zprávou. The OK a zrušení tlačítka se přidávají do schránky zpráv pomocí setStandardButtons () metoda. Vlastní metoda zvaná msgButton () je definováno ve třídě pro trasování tlačítka v okně se zprávou, na které uživatel klikl. Pokud uživatel klikne na OK tlačítko, pak text, 'Je stisknuto tlačítko OK,'vytiskne; jinak jeJe stisknuto tlačítko Storno'text se vytiskne.

# Importujte potřebné moduly
import sys
z PyQt5.QtWidgets importují QApplication, QMainWindow, QMessageBox
# Definovat třídu pro zobrazení informační zprávy
třída MessageWindow (QMainWindow):
def __init __ (vlastní):
# Zavolejte nadřazeného konstruktora
super ().__init __ ()
# Vytvořte objekt schránky zpráv
já.msgWarning = QMessageBox ()
# Nastavte ikonu Varování
já.msgWarning.setIcon (QMessageBox.Varování)
# Nastavte hlavní zprávu
já.msgWarning.setText ("název proměnná není definována.")
# Nastavte dvě tlačítka pro schránku se zprávou
já.msgWarning.setStandardButtons (QMessageBox.Ok | QMessageBox.Zrušení)
# Zavolejte vlastní metodu po kliknutí na tlačítko
já.msgWarning.tlačítko kliknuto.připojit (já.msgButton)
# Nastavte název okna
já.msgWarning.setWindowTitle ("Varovná zpráva")
# Zobrazte okno se zprávou
já.msgWarning.ukázat()
# Definujte funkci tlačítek
def msgButton (self, i):
kdybych.text () == '& OK':
tisk („Je stisknuto tlačítko OK.")
jiný:
tisk („Je stisknuto tlačítko Storno.")
# Vytvořte objekt aplikace a spusťte aplikaci
aplikace = QApplication (sys.argv)
Win = MessageWindow ()
aplikace.exec_ ()

Po provedení výše uvedeného skriptu se zobrazí následující okno se zprávou.

Pokud uživatel klikne na OK tlačítko, zobrazí se následující výstup.

Příklad 3: Vytvoření a Otázka Varování Zpráva

Následující skript vytvoří okno se zprávou o otázce pomocí třídy QMessageBox. Tento typ pole se zprávou poskytuje uživateli dotazovou zprávu k provedení konkrétní akce na základě rozhodnutí uživatele. Tady, QMessageBox.Otázka se používá v setIcon () způsob zobrazení ikony otázky v okně se zprávou. The Ano a Ne tlačítka se přidávají do schránky zpráv pomocí setStandardButtons () metoda. The Ne tlačítko je nastaveno jako výchozí tlačítko pomocí metody setDefaultButton (). Vlastní metoda zvaná msgButton () je definován ve třídě pro trasování tlačítka v okně se zprávou, na které uživatel klikl.

# Importujte potřebné moduly
import sys
z PyQt5.QtWidgets importují QApplication, QMainWindow, QMessageBox
# Definovat třídu pro zobrazení informační zprávy
třída MessageWindow (QMainWindow):
def __init __ (vlastní):
# Zavolejte nadřazeného konstruktora
super ().__init __ ()
# Vytvořte objekt schránky zpráv
já.msgQuestion = QMessageBox ()
# Nastavte ikonu Varování
já.msgQuestion.setIcon (QMessageBox.Otázka)
# Nastavte hlavní zprávu
já.msgQuestion.setText ("Chcete pokračovat?")
# Nastavte dvě tlačítka pro schránku se zprávou
já.msgQuestion.setStandardButtons (QMessageBox.Ano | QMessageBox.Ne)
já.msgQuestion.setDefaultButton (QMessageBox.Ne)
# Zavolejte vlastní metodu po kliknutí na tlačítko
já.msgQuestion.tlačítko kliknuto.připojit (já.msgButton)
# Nastavte název okna
já.msgQuestion.setWindowTitle ("Kladení otázek uživateli")
# Zobrazte okno se zprávou
já.msgQuestion.ukázat()
# Definujte funkci tlačítek
def msgButton (self, i):
kdybych.text () == '& Ano':
tisk ("Úkol pokračuje ...")
jiný:
print („Zrušili jste úkol.")
# Vytvořte objekt aplikace a spusťte aplikaci
aplikace = QApplication (sys.argv)
Win = MessageWindow ()
aplikace.exec_ ()

Po provedení výše uvedeného skriptu se zobrazí následující okno se zprávou.

Pokud uživatel klikne na Enter klávesu bez výběru jakýchkoli tlačítek, pak Ne Ve výchozím nastavení bude aktivováno tlačítko a zobrazí se následující výstup:

Závěr

V tomto kurzu byly pomocí třídy QMessageBox vytvořeny tři různé typy zpráv. Doufejme, že vám tento výukový program pomohl lépe pochopit použití této třídy. Nyní byste měli být schopni vytvořit okno se zprávou pro aplikaci PyQt.

Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...