对PyQt5的逐渐什么,也就越来越喜欢,其实对我而言,关于这一块也不是很深入,希望和大家一起去深入的学习,今天我再这里写的是PyQt5的提示框问题也就是QMessageBox这个控件
今天要讲的主要有以下弹框:
- 软件关闭提示弹框
- 信息提示弹框
- 错误提示弹框
- 信息警告弹窗
- 关于弹窗
- 等待回复弹框
1,软件关闭提示弹框
这类的弹框一般是在整个软件关闭的时候提醒用户是否需要退出整个软件
def closeEvent(self, event): #关闭窗口触发以下事件
reply = QMessageBox.question(self, '消息框标题', '你确定要退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
event.accept() #接受关闭事件
else:
event.ignore() #忽略关闭事件
备注:上面这个方法是自带的方法,我们只用写出来就可以,不用我们调用,整个界面关闭的时候回自动调用它,可以理解为是窗口生命周期的方法,类似Android声明周期中的OnDestroy()方法,当点击关闭按钮的时候就会弹出来,如果选择是则关闭这个窗口,选择否,则退回原界面。
2,信息提示弹框
这个弹框一般用户给用户展示一些基本信息
def show_message(self):
QMessageBox.information(self, "标题", "我很喜欢学习python",
QMessageBox.Yes)
备注: 我这里是写在方法里,通过点击按钮来执行这个方法
3,错误提示弹框
这类的弹框一般用于用户执行了某些错误操作而导致的,这类的错误是必须要处理的,必须要提示用户
def show_message(self):
QMessageBox.critical(self, "错误", "系统错误请关机重启")
4,信息警告弹窗
这类的弹框一般用户提示用户最好不要操作什么,警示用户操作
def show_message(self):
QMessageBox.warning(self, "警告", "如果在不学习,你会被淘汰", QMessageBox.Cancel)
5,关于弹窗
这类弹框主要是给用户展示系统信息,软件介绍,公司介绍之类的
def show_message(self):
QMessageBox.about(self, "关于",
"本文作者QQ 1306133728")
关于弹窗还有一种特殊的关于,也就是Qt的介绍,这个介绍不要需要填写什么内容,系统已经封装好了
最后一个小点提示一下,上面的截图想必大家都看了,肯定有人在想,怎么在这个QMessageBox左上方设置图标呢,其实想了很久,我也找了很多资料,最后发现其实只要在主窗口设置QICon()后,这个QMessageBox的图标会跟随主窗口。