赞
踩
参考:https://zhuanlan.zhihu.com/p/138386185
https://www.jianshu.com/p/8fc44cea9bd8
QMessageBox.about():关于对话框对象
QMessageBox.information():消息对话框对象
QMessageBox.warning():警告对话框对象
QMessageBox.critical():错误对话框对象
QMessageBox.question():提问对话框对象
def show_message(self):
QMessageBox.about(self, "关于", "这是一个关于对话框")
msg_box = QMessageBox(QMessageBox.About, '关于', '这是一个关于对话框')
msg_box.exec_()
QMessageBox.information(self, "标题", "我很喜欢学习python", QMessageBox.Yes)
#最后的Yes表示弹框的按钮显示为Yes,默认按钮显示为OK,不填QMessageBox.Yes即为默认
QMessageBox.warning(self, "警告", "这是一个警告对话框", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
QMessageBox.critical(self, "错误", "系统错误")
def closeEvent(self, event): #关闭窗口触发以下事件
a = QMessageBox.question(self, '退出', '你确定要退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) #"退出"代表的是弹出框的标题,"你确认退出.."表示弹出框的内容
if a == QMessageBox.Yes:
event.accept() #接受关闭事件
else:
event.ignore() #忽略关闭事件
# (直接放入相关程序执行完毕的后面的方法)
msg_box = QMessageBox(QMessageBox.Question, '退出', '你确定退出吗?') #退出表示弹出框标题,"你确定退出吗?"表示弹出框的内容
msg_box.exec_() #执行弹出框
与确定退出的事件绑定可以参考第一种方法
import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class QDialogDemo(QMainWindow): def __init__(self): super(QDialogDemo, self).__init__() self.initUI() def initUI(self): self.setWindowTitle("QDialog案例") self.resize(300, 200) # 设置文本内容 + 直接固定到主窗口 self.button = QPushButton("弹出对话框", self) self.button.move(50, 50) self.button.clicked.connect(self.showDialog) def showDialog(self): # 创建对话框控件,并在对话框中创建新的控件 dialog = QDialog() button = QPushButton("确定", dialog) # dialog的close方法作用是将对话框关闭 button.clicked.connect(dialog.close) button.move(50, 50) dialog.setWindowTitle("对话框") # 让对话框以模式的状态显示,即触发对话框后,主窗口的控件时无法使用的 dialog.setWindowModality(Qt.ApplicationModal) # 最后不要忘了调用exec来执行创建的对话框 dialog.exec() if __name__ == '__main__': app = QApplication(sys.argv) main = QDialogDemo() main.show() sys.exit(app.exec_())
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。