在本文中,您将学习如何创建 PyQt5 消息框:

为了显示一个消息框,我们需要导入QMessageBox。
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
我们使用方法QMessageBox.question()显示消息框。
PyQt5 消息框代码
复制以下代码以显示消息框。
import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBoxfrom PyQt5.QtGui import QIconfrom PyQt5.QtCore import pyqtSlotclass App(QWidget):def __init__(self):super().__init__()self.title = 'PyQt5 messagebox - pythonspot.com'self.left = 10self.top = 10self.width = 320self.height = 200self.initUI()def initUI(self):self.setWindowTitle(self.title)self.setGeometry(self.left, self.top, self.width, self.height)buttonReply = QMessageBox.question(self, 'PyQt5 message', "Do you like PyQt5?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No)if buttonReply == QMessageBox.Yes:print('Yes clicked.')else:print('No clicked.')self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = App()sys.exit(app.exec_())
消息框的更多按钮
考虑到我们使用QMessageBox.Yes和QMessageBox.No。 我们可以轻松添加其他选项:
buttonReply = QMessageBox.question(self, 'PyQt5 message', "Do you want to save?", QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, QMessageBox.Cancel)print(int(buttonReply))if buttonReply == QMessageBox.Yes:print('Yes clicked.')if buttonReply == QMessageBox.No:print('No clicked.')if buttonReply == QMessageBox.Cancel:print('Cancel')
可用的按钮有:
| 总览 | ||
|---|---|---|
QMessageBox.Cancel |
QMessageBox.Ok |
QMessageBox.Help |
QMessageBox.Open |
QMessageBox.Save |
QMessageBox.SaveAll |
QMessageBox.Discard |
QMessageBox.Close |
QMessageBox.Apply |
QMessageBox.Reset |
QMessageBox.Yes |
QMessageBox.YesToAll |
QMessageBox.No |
QMessageBox.NoToAll |
QMessageBox.NoButton |
QMessageBox.RestoreDefaults |
QMessageBox.Abort |
QMessageBox.Retry |
QMessageBox.Ignore |
