下面我将详细讲解Python中PyQt5模块中的QMessageBox类的完整使用攻略,包括语法、参数、示例说明等。
QMessageBox简介
QMessageBox是PyQt5中的一种消息对话框,可以用来显示调试信息、错误信息、警告信息、询问信息等,通常是在用户执行某个操作或发生某些错误时被调用。QMessageBox的使用非常方便,可以设置标题、文本、按钮等属性,并根据用户的反馈进行相应的操作。
QMessageBox基本语法
下面是QMessageBox的基本语法:
QMessageBox.information(parent, title, text, buttons, defaultButton)
参数说明:
- parent:指定父级窗口(可选);
- title:指定对话框的标题文字;
- text:指定对话框的显示文本内容;
- buttons:指定对话框的按钮类型,可以设置为QMessageBox.Ok、QMessageBox.Cancel、QMessageBox.Yes、QMessageBox.No等;
- defaultButton:指定对话框中默认的按钮。
QMessageBox示例说明
接下来,我们将通过两条示例说明如何使用QMessageBox。
示例一
下面是一个简单的示例,在程序启动时弹出一个信息提示框,点击OK后退出程序:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Information Box Demo')
self.show()
QMessageBox.information(self, 'Information', 'Welcome to PyQt5!', QMessageBox.Ok, QMessageBox.Ok)
sys.exit()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
在示例代码中,我们首先创建一个QMainWindow窗口,并在其构造函数中调用initUI方法,用于初始化窗口。在initUI方法中,我们设置了窗口的标题和展示,然后调用QMessageBox.information方法,弹出一个信息框,显示标题为'Information',文本内容为'Welcome to PyQt5!',按钮为OK。最后,调用sys.exit方法退出程序。
示例二
下面是另一个示例,在程序运行时弹出一个询问框,询问是否要退出程序,点击Yes或者No分别退出或取消退出程序:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Question Box Demo')
self.setGeometry(100, 100, 300, 200)
self.show()
reply = QMessageBox.question(self, 'Warning', 'Are you sure to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
sys.exit()
else:
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
在示例代码中,我们首先创建了一个QMainWindow窗口,并在其构造函数中调用initUI方法,用于初始化窗口。在initUI方法中,我们设置了窗口的标题、大小和展示,并调用QMessageBox.question方法,弹出一个询问框,显示标题为'Warning',文本内容为'Are you sure to quit?',按钮为Yes和No。最后,根据用户点击的按钮来判断是否要退出程序。
以上就是PyQt5模块中QMessageBox的完整使用攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QMessageBox - Python技术站