📜  PyQt-QMessageBox(1)

📅  最后修改于: 2023-12-03 14:45:45.419000             🧑  作者: Mango

PyQt-QMessageBox

PyQt-QMessageBox是一个PyQt5库中的类,用于在GUI应用程序中显示消息框。

使用方法

PyQt-QMessageBox的使用非常简单,只需要使用以下语法即可:

QMessageBox.question(parent, title, text, QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

其中,

  • parent: 父窗口
  • title: 消息框标题
  • text: 消息框正文
  • QMessageBox.Yes/QMessageBox.No: 消息框按钮选项
  • QMessageBox.No: 默认选中的按钮

可以使用QMessageBox的不同方法,如.question().warning().information()等来呈现不同种类的消息框。

以下是不同消息框的语法:

QMessageBox.question(parent, title, text, QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

QMessageBox.warning(parent, title, text, QMessageBox.Ok)

QMessageBox.information(parent, title, text, QMessageBox.Ok)
参数详解
parent

parent指定需要将消息框放在哪个父窗口内。当父窗口关闭时,消息框也会关闭。如果不需要使用父窗口,则可以设置为None

title

title指定消息框的标题。

text

text指定消息框的正文。

QMessageBox.Yes/QMessageBox.No

QMessageBox.Yes/QMessageBox.No指定消息框的选项。我们可以使用|来组合多个选项。例如,如果我们需要显示“是/否”按钮,则可以使用以下代码:

QMessageBox.question(parent, title, text, QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
QMessageBox.No

QMessageBox.No指定默认选项。

示例代码

以下是示例代码,用于示范QMessageBox.question()的使用方法:

import sys
from PyQt5.QtWidgets import QApplication, QDialog, QMessageBox, QPushButton


class Dialog(QDialog):
    def __init__(self):
        super(Dialog, self).__init__()
        self.setWindowTitle('PyQt-QMessageBox Example')

        button = QPushButton('Click me', self)
        button.clicked.connect(self.show_dialog)

    def show_dialog(self):
        choice = QMessageBox.question(self, 'Dialog', "Do you like PyQt?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
        if choice == QMessageBox.Yes:
            print('You like PyQt!')
        else:
            print('You don\'t like PyQt!')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = Dialog()
    dialog.show()
    sys.exit(app.exec_())
总结

PyQt-QMessageBox是一个非常方便的类,可以用于在GUI应用程序中显示消息框。使用PyQt-QMessageBox,我们可以轻松地创建各种类型的消息框,并指定消息框的父窗口、标题、正文和选项。