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é modulyimport 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é modulyimport 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é modulyimport 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.