python--pyQt5 pyside6 中 消息对话框(QMessageBox)

参考: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_())

在这里插入图片描述

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值