Java消息盒子实现性能,Python高级进阶#007 pyqt5消息盒子QMessageBox

f75d67b41002d0b9bddbb42f522b5b70.gif

一、知识回顾

1.使用类进行pyqt5的gui开发封装

2.使用setGeometry函数:大小、位置

3.掌握类的继承与内部调用

本节知识视频教程

以下开始文字讲解:

一、Pyqt5界面基本写法

目标效果

点击按钮,出现消息选择框,处理消息选择框的点击结果

ba5248d0f93b0bd698c9a19f9150d252.png

效果图

二、基础的类封装代码

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QMessageBox,QPushButtonclass MyClass(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300,200,400,300)self.setWindowTitle("刘金玉编程")btn=QPushButton("关闭窗体",self)btn.move(50,50)self.show()if __name__=="__main__":app=QApplication(sys.argv)mc=MyClass()app.exec_()

三、消息盒子

我们开始使用类库QMessageBox

看看常见的不同的图标的消息类别:

带有图标的消息盒子,图标可以是问号question,信息information,警告warning

注意:使用消息盒子后,最后会返回一个按钮类型的结果,这个结果也是我们人机交互的结果。

四、重写事件

重写关闭事件考虑思路:

当点击关闭按钮的时候,执行的是窗体的关闭,而窗体的关闭等同于点击窗体右上角的关闭X的自带窗体按钮的效果,这个效果是Qwidget基类所实现的。

提问:

我们该如何实现我们自己需要的关闭时候的效果呢?

重写父类方法。

重写关闭事件的方法。

QMessageBox使用格式

具体问号使用格式:

QMessageBox.question(self,消息标题,消息内容,消息的按钮类型,首次打开后默认选中哪个按钮)

使用举例:

QMessageBox.question(self,"老刘提示您:","您真的要关闭窗体吗?",QMessageBox.Yes|QMessageBox.No,QMessageBox.No)

如何阻止事件的关闭呢?

利用传过来的事件对象

我们通过输出的形式,看到事件对象的属性和方法,猜测到具体的调用方法。

event.accept()同意关闭

event.ignore()忽律操作

if result==QMessageBox.Yes:

event.accept()

else:

event.ignore()

QMessageBox.information(self,"消息","谢谢!")

五、总结强调

1.掌握的类的封装基本代码

2.掌握类的事件重写

3.掌握的事件对象的应用

本节知识源代码:

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QMessageBox,QPushButtonclass MyClass(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300,200,400,300)self.setWindowTitle("刘金玉编程")btn=QPushButton("关闭窗体",self)btn.move(50,50)btn.clicked.connect(self.close)self.show()def closeEvent(self, event):print("老刘关闭的操作")result=QMessageBox.question(self,"老刘提示您:","您真的要关闭窗体吗?",QMessageBox.Yes|QMessageBox.No,QMessageBox.No)if result==QMessageBox.Yes:event.accept()else:event.ignore()QMessageBox.information(self,"消息","谢谢!")if __name__=="__main__":app=QApplication(sys.argv)mc=MyClass()app.exec_()

长按关注公众号

相关文章:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值