Python

Ako používať PyQt QMessageBox

Ako používať PyQt QMessageBox
Schránka so správou sa v aplikácii GUI používa na poskytnutie potrebných informácií používateľovi alebo na požiadanie používateľa, aby vykonal akciu na základe správy. Pre každú aplikáciu grafického používateľského rozhrania je možné vytvoriť štyri typy schránok so správou, vrátane informačnej schránky, schránky s varovaním, schránky s kritickými správami a schránky s otázkami. The QMessageBox trieda PyQt sa používa v Pythone na vytvorenie schránky so správami. Tento tutoriál vám ukáže, ako používať triedu QMessageBox na vytváranie rôznych schránok so správami.

Nevyhnutné metódy

Trieda QMessageBox má veľa metód na vytváranie rôznych typov schránok správ. Niektoré z bežnejšie používaných metód triedy QMessageBox sú opísané nižšie:

Názvy metód  Účel
setTitle () Používa sa na zobrazenie vlastného názvu.
setText () Používa sa na nastavenie textu hlavnej správy.
setDetailText () Používa sa na zobrazenie okna s tlačidlom podrobností; text správy sa objaví po kliknutí používateľa na tlačidlo.
setInformativeText Používa sa na zobrazenie dodatočnej správy.
setIcon () Slúži na nastavenie ikony v okne správy podľa typu správy.
setWindowTitle () Slúži na nastavenie názvu okna správy.
setDefaultButton () Slúži na nastavenie tlačidla v predvolenom nastavení okna so správami; tlačidlo uvoľní kliknutý signál, keď Zadajte je stlačené tlačidlo.
setEscapeButton () Používa sa na nastavenie ľubovoľného tlačidla, ktoré funguje ako kláves Escape; tlačidlo uvoľní kliknutý signál, keď Uniknúť je stlačené tlačidlo.
setStandardButtons () V okne správ je možné použiť rôzne štandardné tlačidlá podľa typu správy, napríklad OK, Áno, Nie, Zrušiť, Zavrieť atď.

Používanie QMessageBox

Nasledujúce časti tohto tutoriálu poskytujú príklady, ktoré vám ukážu, ako vytvoriť rôzne schránky správ pomocou triedy QMessageBox.

Príklad 1: Vytvorte informačnú schránku

Nasledujúci skript vytvorí jednoduchú informačnú schránku pomocou triedy QMessageBox. Tento typ schránky správ poskytuje informačnú správu iba pre používateľa. Ok je predvolené tlačidlo v okne správy. Tu, QMessageBox.Informácie sa používa v setIcon () spôsob zobrazenia informačnej ikony v okne správy.

# Importujte potrebné moduly
import sys
z PyQt5.QtWidgets importujú QApplication, QMainWindow, QMessageBox
# Definujte triedu, aby sa zobrazila informačná správa
trieda MessageWindow (QMainWindow):
def __init __ (self):
# Zavolajte nadradenému konštruktorovi
Super().__init __ ()
# Vytvorte objekt schránky správ
ja.msg = QMessageBox ()
# Nastavte informačnú ikonu
ja.správa.setIcon (QMessageBox.Informácie)
# Nastavte hlavnú správu
ja.správa.setText ("Úloha je úspešne dokončená.„)
# Nastavte názov okna
ja.správa.setWindowTitle ("Informačná správa")
# Zobrazte okno so správou
ja.správa.šou()
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
Win = MessageWindow ()
aplikácia.exec ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce okno so správou.

Príklad 2: Vytvorte varovnú správu

Nasledujúci skript vytvorí varovnú správu pomocou triedy QMessageBox. Tento typ schránky správ poskytuje používateľovi varovnú správu. The pozor sa používa v setIcon () spôsob zobrazenia ikony varovania v okne správy. The Ok a Zrušiť tlačidlá sa pridávajú do schránky správ pomocou setStandardButtons () metóda. Vlastná metóda tzv msgButton () je v triede definované na sledovanie tlačidla v okne správy, na ktoré používateľ klikol. Ak používateľ klikne na ikonu Ok tlačidlo, potom text, 'Je stlačené tlačidlo OK,'vytlačí; inak jeJe stlačené tlačidlo Zrušiť"text sa vytlačí.

# Importujte potrebné moduly
import sys
z PyQt5.QtWidgets importujú QApplication, QMainWindow, QMessageBox
# Definujte triedu, aby sa zobrazila informačná správa
trieda MessageWindow (QMainWindow):
def __init __ (self):
# Zavolajte nadradenému konštruktorovi
Super().__init __ ()
# Vytvorte objekt schránky správ
ja.msgWarning = QMessageBox ()
# Nastavte ikonu Varovanie
ja.msgVarovanie.setIcon (QMessageBox.Pozor)
# Nastavte hlavnú správu
ja.msgVarovanie.setText ("názov premenná nie je definovaná.„)
# Nastaviť dve tlačidlá pre schránku správ
ja.msgVarovanie.setStandardButtons (QMessageBox.Ok | QMessageBox.Zrušiť)
# Zavolajte vlastnú metódu po kliknutí na tlačidlo
ja.msgVarovanie.tlačidloKliklo.spojiť (seba.msgButton)
# Nastavte názov okna
ja.msgVarovanie.setWindowTitle ("Varovná správa")
# Zobrazte okno so správou
ja.msgVarovanie.šou()
# Definujte funkciu tlačidiel
def msgButton (self, i):
Ak ja.text () == '& OK':
tlač (je stlačené tlačidlo OK.„)
inak:
tlač („Je stlačené tlačidlo Zrušiť.„)
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
Win = MessageWindow ()
aplikácia.exec_ ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce okno so správou.

Ak používateľ klikne na ikonu Ok tlačidlo, zobrazí sa nasledujúci výstup.

Príklad 3: Vytvorenie a Otázka Pozor Správa

Nasledujúci skript vytvorí okno s otázkami pomocou triedy QMessageBox. Tento typ okna so správou poskytuje používateľovi dotazovú správu, aby vykonal konkrétnu akciu na základe rozhodnutia používateľa. Tu, QMessageBox.Otázka sa používa v setIcon () spôsob zobrazenia ikony otázky v okne správy. The Áno a Nie tlačidlá sa pridávajú do schránky správ pomocou setStandardButtons () metóda. The Nie tlačidlo je nastavené ako predvolené tlačidlo pomocou metódy setDefaultButton (). Vlastná metóda tzv msgButton () je v triede definované na sledovanie tlačidla v okne správy, na ktoré používateľ klikol.

# Importujte potrebné moduly
import sys
z PyQt5.QtWidgets importujú QApplication, QMainWindow, QMessageBox
# Definujte triedu, aby sa zobrazila informačná správa
trieda MessageWindow (QMainWindow):
def __init __ (self):
# Zavolajte nadradenému konštruktorovi
Super().__init __ ()
# Vytvorte objekt schránky správ
ja.msgQuestion = QMessageBox ()
# Nastavte ikonu Varovanie
ja.msgQuestion.setIcon (QMessageBox.Otázka)
# Nastavte hlavnú správu
ja.msgQuestion.setText ("Chcete pokračovať?„)
# Nastaviť dve tlačidlá pre schránku správ
ja.msgQuestion.setStandardButtons (QMessageBox.Áno | QMessageBox.Nie)
ja.msgQuestion.setDefaultButton (QMessageBox.Nie)
# Zavolajte vlastnú metódu po kliknutí na tlačidlo
ja.msgQuestion.tlačidloKliklo.spojiť (seba.msgButton)
# Nastavte názov okna
ja.msgQuestion.setWindowTitle ("Kladenie otázok používateľovi")
# Zobrazte okno so správou
ja.msgQuestion.šou()
# Definujte funkciu tlačidiel
def msgButton (self, i):
Ak ja.text () == '& Áno':
print ("Úloha pokračuje ...")
inak:
print („Zrušili ste úlohu.„)
# Vytvorte objekt aplikácie a spustite ju
app = QApplication (sys.argv)
Win = MessageWindow ()
aplikácia.exec_ ()

Po vykonaní vyššie uvedeného skriptu sa zobrazí nasledujúce okno so správou.

Ak používateľ klikne na ikonu Zadajte bez vybratia akýchkoľvek tlačidiel, potom Nie tlačidlo sa predvolene aktivuje a zobrazí sa nasledujúci výstup:

Záver

V tejto príručke boli pomocou triedy QMessageBox vytvorené tri rôzne typy schránok so správami. Dúfajme, že vám tento návod pomohol lepšie pochopiť použitie tejto triedy. Teraz by ste mali byť schopní vytvoriť schránku správ pre aplikáciu PyQt.

Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...
Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...