📜  PyQt5 - 消息框

📅  最后修改于: 2022-05-13 01:54:38.579000             🧑  作者: Mango

PyQt5 - 消息框

在本文中,我们将讨论 PyQT5 模块的 Message Box Widget。它用于显示消息框。 PyQt5是一个用于使用 Qt GUI 框架创建 GUI 的库。 Qt 最初是用 C++ 编写的,但可以在Python。可以使用以下命令安装最新版本的 PyQt5:

pip install PyQt5

什么是消息框?

消息框通常用于向用户声明一小段信息。它为用户提供了一个不容错过的弹出框,以避免用户错过重要的错误和信息,并且在某些情况下,用户在不确认消息框的情况下无法继续。

基于应用程序,有四种类型的消息框。以下是创建消息框的语法。对于任何一个盒子,都需要进行实例化。

句法:



msg_box_name = QMessageBox() 

现在根据要求创建一个适当的消息框。

消息框的类型

信息留言箱

当需要将相关信息传递给用户时,使用这种类型的消息框。

句法:

问题留言箱

此消息框用于从用户那里获得有关要执行的某些活动或操作的答案。

句法:

警告信息框

这会触发有关用户将要执行的操作的警告。

句法:

关键消息框

这通常用于获取用户对关键操作的意见。

句法:

使用 PyQt5 创建一个简单的消息框

现在要创建一个生成消息框的程序,首先导入所有必需的模块,然后创建一个带有四个按钮的小部件,单击其中任何一个都会生成一个消息框。



现在,为每个按钮关联一个消息框,该消息框在单击相应按钮时弹出。首先,实例化一个消息框并添加一个所需的图标。现在为将生成的流行音乐设置适当的属性。此外,添加按钮来处理标准机制。

下面给出了完整的实现。

程序:

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()


输出