Jak korzystać z Pyqt QMessagebox

Jak korzystać z Pyqt QMessagebox
Pole wiadomości jest używane w aplikacji GUI w celu dostarczenia użytkownika niezbędnych informacji lub poprosić użytkownika o podjęcie działań na podstawie wiadomości. Dla dowolnej aplikacji GUI można utworzyć cztery typy skrzynek wiadomości, w tym informacyjne pole wiadomości, pole komunikatu ostrzegawczego, pole wiadomości krytycznych i pole pytania dotyczące pytań. QMessageBox Klasa PYQT jest używana w Pythonie do utworzenia pola wiadomości. Ten samouczek pokazuje, jak korzystać z klasy QMessageBox, aby utworzyć różne pola wiadomości.

Niezbędne metody

Klasa QMessageBox ma wiele metod tworzenia różnych rodzajów skrzynek komunikatów. Niektóre z bardziej powszechnie stosowanych metod klasy QMessageBox opisano poniżej:

Nazwy metod Zamiar
settitle () Służy do wyświetlania niestandardowego tytułu.
Ustaw tekst() Służy do ustawienia tekstu głównej wiadomości.
setDetailText () Używany do wyświetlania okna z przyciskiem szczegółów; tekst wiadomości pojawi się po kliknięciu użytkownika przycisku.
setinformativeText Używane do wyświetlania dodatkowej wiadomości.
seticon () Służy do ustawienia ikony w polu wiadomości na podstawie typu wiadomości.
setWindowTitle () Używane do ustawienia tytułu okna wiadomości.
setdefaultbutton () Używane do ustawienia przycisku w polu wiadomości domyślnie; przycisk zwolni kliknięty sygnał, gdy Wchodzić klawisz jest naciśnięty.
setescapeButton () Służy do ustawienia dowolnego przycisku tak, aby działał jako klucz do ucieczki; przycisk zwolni kliknięty sygnał, gdy Ucieczka klawisz jest naciśnięty.
setstandardButtons () Różne standardowe przyciski mogą być używane w polu wiadomości na podstawie typu wiadomości, takich jak OK, tak, nie, anuluj, zamknij itp.

Korzystanie z qmessageBox

Poniższe sekcje tego samouczka zawierają przykłady, które pokażą, jak tworzyć różne pola wiadomości za pomocą klasy QMessageBox.

Przykład 1: Utwórz informacyjne pole wiadomości

Poniższy skrypt utworzy proste informacyjne pole wiadomości za pomocą klasy QMessageBox. Tego rodzaju pole wiadomości zawiera komunikat informacyjny tylko dla użytkownika. OK jest domyślnym przyciskiem w polu wiadomości. Tutaj, QMessageBox.Informacja jest używany w seticon () Metoda wyświetlania ikony informacji w polu wiadomości.

# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.Qtwidgets import Qapplication, QMainWindow, QMessageBox
# Zdefiniuj klasę, aby wyświetlić wiadomość informacyjną
klasa MessageWindow (QMainWindow):
def __init __ (ja):
# Zadzwoń do konstruktora nadrzędnego
Super().__w tym__()
# Utwórz obiekt MessageBox
samego siebie.msg = qmessagebox ()
# Ustaw ikonę informacji
samego siebie.MSG.Seticon (QMessageBox.Informacja)
# Ustaw główną wiadomość
samego siebie.MSG.setText („Zadanie zostało zakończone pomyślnie.")
# Ustaw tytuł okna
samego siebie.MSG.setWindowTitle („komunikat informacyjny”)
# Wyświetl pole wiadomości
samego siebie.MSG.pokazywać()
# Utwórz obiekt aplikacji i uruchom aplikację
app = qapplication (sys.Argv)
Win = MessageWindow ()
App.exec ()

Poniższe pole wiadomości pojawi się po wykonaniu powyższego skryptu.

Przykład 2: Utwórz pole komunikatu ostrzegawczego

Poniższy skrypt utworzy pole komunikatu ostrzegawczego za pomocą klasy QMessageBox. Ten typ pola wiadomości zawiera komunikat ostrzegawczy dla użytkownika. ostrzeżenie jest używany w seticon () Metoda wyświetlania ikony ostrzegawczej w polu wiadomości. OK I Anulować przyciski są dodawane do pola wiadomości za pomocą setstandardButtons () metoda. Metoda niestandardowa o nazwie msgbutton () jest zdefiniowany w klasie, aby prześledzić przycisk w polu wiadomości, które zostało kliknięte przez użytkownika. Jeśli użytkownik kliknie OK przycisk, potem tekst 'OK przycisk jest naciśnięty,„Wydrukuje; w przeciwnym razie 'Przycisk Anuluj jest naciśnięty„Tekst będzie drukowany.

# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.Qtwidgets import Qapplication, QMainWindow, QMessageBox
# Zdefiniuj klasę, aby wyświetlić wiadomość informacyjną
klasa MessageWindow (QMainWindow):
def __init __ (ja):
# Zadzwoń do konstruktora nadrzędnego
Super().__w tym__()
# Utwórz obiekt MessageBox
samego siebie.msgWarning = qMessageBox ()
# Ustaw ikonę ostrzegawczą
samego siebie.msgwarning.Seticon (QMessageBox.Ostrzeżenie)
# Ustaw główną wiadomość
samego siebie.msgwarning.Ustaw tekst("Nazwa Zmienna jest niezdefiniowana.")
# Ustaw dwa przyciski dla pola wiadomości
samego siebie.msgwarning.setstandardButtons (qmessageBox.OK | QMessageBox.Anulować)
# Wywołaj niestandardową metodę na przycisku kliknięte
samego siebie.msgwarning.Buttonclicked.Połącz (ja.Msgbutton)
# Ustaw tytuł okna
samego siebie.msgwarning.setWindowTitle („Wiadomość ostrzegawcza”)
# Wyświetl pole wiadomości
samego siebie.msgwarning.pokazywać()
# Zdefiniuj funkcję przycisków
def msgbutton (self, i):
Jeśli ja.text () == '& OK':
Drukuj („OK przycisk jest naciśnięty.")
w przeciwnym razie:
Drukuj („Przycisk Anuluj jest naciśnięty.")
# Utwórz obiekt aplikacji i uruchom aplikację
app = qapplication (sys.Argv)
Win = MessageWindow ()
App.exec_ ()

Poniższe pole wiadomości pojawi się po wykonaniu powyższego skryptu.

Jeśli użytkownik kliknie OK przycisk, pojawi się następujące wyjście.

Przykład 3: Utwórz Pytanie Ostrzeżenie Wiadomość

Poniższy skrypt utworzy pole komunikatu pytania za pomocą klasy QMessageBox. Tego rodzaju pole wiadomości zawiera komunikat o pytania, aby użytkownik mógł podjąć konkretne działanie w oparciu o decyzję użytkownika. Tutaj, QMessageBox.Pytanie jest używany w seticon () metoda wyświetlania ikony pytania w polu wiadomości. Tak I NIE przyciski są dodawane do pola wiadomości za pomocą setstandardButtons () metoda. NIE Przycisk jest ustawiany jako przycisk domyślny za pomocą metody setDefaultButton (). Metoda niestandardowa o nazwie msgbutton () jest zdefiniowany w klasie, aby prześledzić przycisk w polu wiadomości, które zostało kliknięte przez użytkownika.

# Zaimportuj niezbędne moduły
Import Sys
z pyqt5.Qtwidgets import Qapplication, QMainWindow, QMessageBox
# Zdefiniuj klasę, aby wyświetlić wiadomość informacyjną
klasa MessageWindow (QMainWindow):
def __init __ (ja):
# Zadzwoń do konstruktora nadrzędnego
Super().__w tym__()
# Utwórz obiekt MessageBox
samego siebie.msgquestion = qmessagebox ()
# Ustaw ikonę ostrzegawczą
samego siebie.msgquestion.Seticon (QMessageBox.Pytanie)
# Ustaw główną wiadomość
samego siebie.msgquestion.setText („Czy chcesz kontynuować?")
# Ustaw dwa przyciski dla pola wiadomości
samego siebie.msgquestion.setstandardButtons (qmessageBox.Tak | QMessageBox.NIE)
samego siebie.msgquestion.setdefaultbutton (qmessageBox.NIE)
# Wywołaj niestandardową metodę na przycisku kliknięte
samego siebie.msgquestion.Buttonclicked.Połącz (ja.Msgbutton)
# Ustaw tytuł okna
samego siebie.msgquestion.setWindowTitle („Zadaj pytanie do użytkownika”)
# Wyświetl pole wiadomości
samego siebie.msgquestion.pokazywać()
# Zdefiniuj funkcję przycisków
def msgbutton (self, i):
Jeśli ja.text () == '& tak':
Drukuj („zadanie trwa…”)
w przeciwnym razie:
Drukuj („Anulowałeś zadanie.")
# Utwórz obiekt aplikacji i uruchom aplikację
app = qapplication (sys.Argv)
Win = MessageWindow ()
App.exec_ ()

Poniższe pole wiadomości pojawi się po wykonaniu powyższego skryptu.

Jeśli użytkownik kliknie Wchodzić klucz bez wyboru jakichkolwiek przycisków, a następnie NIE Przycisk zostanie domyślnie aktywowany, a pojawi się następujące dane wyjściowe:

Wniosek

W tym samouczku utworzono trzy różne typy pól wiadomości za pomocą klasy QMessageBox. Mamy nadzieję, że ten samouczek pomógł ci lepiej zrozumieć użycie tej klasy. Powinieneś teraz być w stanie utworzyć pole wiadomości dla aplikacji PYQT.