python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pyqt5弹出提示框

关于pyqt5弹出提示框的详细介绍

作者:星浩前进中

在实际的程序开发中经常会用到各种各样的消息框来给用户一些提示或提醒,下面这篇文章主要给大家介绍了关于pyqt5弹出提示框的详细介绍,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

最近在用pyqt5设计软件时,想到了一些关于提示框的操作,如果软件关闭时可以弹出确定关闭的弹窗;程序执行完成时可以弹出完成的提示;出现错误提示出现错误的提示等等。在网上查阅了很多,自己总结了一下,今天分享给大家 弹窗的分类: 软件关闭提示弹框 信息提示弹框 错误提示弹框 信息警告弹框 关于弹窗

虽然有分类,但是实际操作是大同小异的(每一类都介绍两种方法)

1.软件关闭弹框

这类的弹框一般是在整个软件关闭的时候提醒用户是否需要退出整个软件

(构建成函数的方法)

    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_()  #执行弹出框
 
与确定退出的事件绑定可以参考第一种方法

2.信息提示框

这个弹框一般用户给用户展示一些基本信息

(构建成函数的方法)

    def show_message(self):
        QMessageBox.information(self, "标题", "我很喜欢学习python",
                                QMessageBox.Yes) #最后的Yes表示弹框的按钮显示为Yes,默认按钮显示为OK,不填QMessageBox.Yes即为默认

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Information, '标题', '我很喜欢python')
msg_box.exec_()

3.错误提示框

这类的弹框一般用于用户执行了某些错误操作而导致的,这类的错误是必须要处理的,必须要提示用户

(构建成函数的方法)

    def show_message(self):
        QMessageBox.critical(self, "错误", "系统错误")

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Critical, '错误', '出现错误')
msg_box.exec_()

4.警告提示框

这类的弹框一般提示用户最好操作什么,警示用户操作

(构建成函数的方法)

    def show_message(self):
        QMessageBox.warning(self, "警告", "如果在不学习,你会被淘汰", QMessageBox.Cancel)

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Warning, '警告', '你再不学习就要被淘汰了')
msg_box.exec_()

5.关于弹窗

这类弹框主要是给用户展示系统信息,软件介绍,公司介绍之类的 

(构建成函数的方法)

   def show_message(self):
        QMessageBox.about(self, "关于",
                          "本文作者QQ 8594969")

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.About, '关于', '本文作者QQ 8594969')
msg_box.exec_()

不管上面的那种方法,都要导入以下依赖包

from PyQt5.QtWidgets import QMessageBox

关于弹出框的图标问题,我查了很多资料,暂时只知道在相应的主界面设计了QICon()后,弹出框的图标会与主界面的图标一样

附:Python-PyQt5错误提示弹框

python文件代码:

# -*- coding: utf-8 -*-

import sys
from PyQt5 import QtWidgets

class MessageBox(QtWidgets.QWidget):#继承自父类QtWidgets.QWidget
    def __init__(self,parent = None):#parent = None代表此QWidget属于最上层的窗口,也就是MainWindows.
        QtWidgets.QWidget.__init__(self)#因为继承关系,要对父类初始化
#通过super初始化父类,__init__()函数无self,若直接QtWidgets.QWidget.__init__(self),括号里是有self的
        self.setGeometry(300, 300, 1000,1000)  # setGeometry()方法完成两个功能--设置窗口在屏幕上的位置和设置窗口本身的大小。它的前两个参数是窗口在屏幕上的x和y坐标。后两个参数是窗口本身的宽和高
        self.setWindowTitle(u'窗口')  # 设置窗体标题,本行可有可无。
        self.button = QtWidgets.QPushButton(u'测试', self)  # 创建一个按钮显示‘测试'两字
        self.button.move(300,300)
        self.button.clicked.connect(self.show_message)  # 信号槽

    def show_message(self):
        QtWidgets.QMessageBox.critical(self, "错误", "系统错误请关机重启")
#内容要长,太短会导致标题显示不全!
app=QtWidgets.QApplication(sys.argv)
window=MessageBox()
window.show()
sys.exit(app.exec_())

结果如下:

总结

到此这篇关于pyqt5弹出提示框的文章就介绍到这了,更多相关pyqt5弹出提示框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文