PyQt5 – Meldungsfeld
In diesem Artikel besprechen wir das Message Box Widget des PyQT5-Moduls. Es wird verwendet, um die Meldungsfelder anzuzeigen. PyQt5 ist eine Bibliothek, die zum Erstellen einer GUI mit dem Qt-GUI-Framework verwendet wird. Qt ist ursprünglich in C++ geschrieben, kann aber in Python verwendet werden. Die neueste Version von PyQt5 kann mit dem folgenden Befehl installiert werden:
pip install PyQt5
Was ist eine Nachrichtenbox?
Meldungsfelder werden normalerweise verwendet, um dem Benutzer eine kleine Information mitzuteilen. Es gibt Benutzern ein Popup-Fenster, das nicht übersehen werden kann, um zu vermeiden, dass wichtige Fehler und Informationen von den Benutzern übersehen werden, und in einigen Fällen kann der Benutzer nicht fortfahren, ohne das Meldungsfeld zu bestätigen.
Basierend auf den Anwendungen gibt es vier Arten von Nachrichtenboxen. Im Folgenden finden Sie die Syntax zum Erstellen eines Meldungsfelds. Für alle Boxen muss eine Instanziierung durchgeführt werden.
Syntax:
msg_box_name = QMessageBox()
Nun wird je nach Anforderung eine entsprechende Meldungsbox erstellt.
Arten von Nachrichtenboxen
Informationsmeldungsfeld
Diese Art von Meldungsfeld wird verwendet, wenn zugehörige Informationen an den Benutzer weitergegeben werden müssen.
Syntax:
msg_box_name.setIcon(QMessageBox.Information)
Meldungsfeld für Fragen
Dieses Nachrichtenfeld wird verwendet, um eine Antwort von einem Benutzer bezüglich einer auszuführenden Aktivität oder Aktion zu erhalten.
Syntax:
msg_box_name.setIcon(QMessageBox.Frage)
Warnmeldungsfeld
Dies löst eine Warnung bezüglich der Aktion aus, die der Benutzer ausführen wird.
Syntax:
msg_box_name.setIcon(QMessageBox.Warnung)
Feld für kritische Meldungen
Dies wird häufig verwendet, um die Meinung des Benutzers zu einer kritischen Aktion einzuholen.
Syntax:
msg_box_name.setIcon(QMessageBox.Kritisch)
Erstellen einer einfachen Message Box mit PyQt5
Um nun ein Programm zu erstellen, das ein Meldungsfeld erstellt, importieren Sie zunächst alle erforderlichen Module und erstellen ein Widget mit vier Schaltflächen. Wenn Sie auf eine dieser Schaltflächen klicken, wird ein Meldungsfeld generiert.
Ordnen Sie nun jeder Schaltfläche ein Meldungsfeld zu, das angezeigt wird, wenn auf die entsprechende Schaltfläche geklickt wird. Instanziieren Sie dazu zunächst ein Meldungsfeld und fügen Sie ein erforderliches Symbol hinzu. Legen Sie nun geeignete Attribute für den zu erzeugenden Pop fest. Fügen Sie außerdem Schaltflächen hinzu, um mit Standardmechanismen umzugehen.
Da unten ist die vollständige Implementierung.
Programm:
Python
#import libraries import sys from PyQt5.QtWidgets import * def window(): # create pyqt5 app app = QApplication(sys.argv) w = QWidget() # create buttons # b1- Information button b1 = QPushButton(w) b1.setText("Information") b1.move(45, 50) # b2- Warning button b2 = QPushButton(w) b2.setText("Warning") b2.move(150, 50) # b3- Question button b3 = QPushButton(w) b3.setText("Question") b3.move(50, 150) # b4- Critical button b4 = QPushButton(w) b4.setText("Critical") b4.move(150, 150) # declaring command when button clicked b1.clicked.connect(show_info_messagebox) b2.clicked.connect(show_warning_messagebox) b3.clicked.connect(show_question_messagebox) b4.clicked.connect(show_critical_messagebox) # setting title of the window w.setWindowTitle("PyQt MessageBox") # showing all the widgets w.show() # start the app sys.exit(app.exec_()) def show_info_messagebox(): msg = QMessageBox() msg.setIcon(QMessageBox.Information) # setting message for Message Box msg.setText("Information ") # setting Message box window title msg.setWindowTitle("Information MessageBox") # declaring buttons on Message Box msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) # start the app retval = msg.exec_() def show_warning_messagebox(): msg = QMessageBox() msg.setIcon(QMessageBox.Warning) # setting message for Message Box msg.setText("Warning") # setting Message box window title msg.setWindowTitle("Warning MessageBox") # declaring buttons on Message Box msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) # start the app retval = msg.exec_() def show_question_messagebox(): msg = QMessageBox() msg.setIcon(QMessageBox.Question) # setting message for Message Box msg.setText("Question") # setting Message box window title msg.setWindowTitle("Question MessageBox") # declaring buttons on Message Box msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) # start the app retval = msg.exec_() def show_critical_messagebox(): msg = QMessageBox() msg.setIcon(QMessageBox.Critical) # setting message for Message Box msg.setText("Critical") # setting Message box window title msg.setWindowTitle("Critical MessageBox") # declaring buttons on Message Box msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel) # start the app retval = msg.exec_() if __name__ == '__main__': window()
Ausgabe