温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Pyqt5界面的基本写法和基础的类封装代码

发布时间:2021-09-04 09:26:13 来源:亿速云 阅读:310 作者:chen 栏目:大数据

本篇内容介绍了“Pyqt5界面的基本写法和基础的类封装代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、Pyqt5界面基本写法

目标效果

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

Pyqt5界面的基本写法和基础的类封装代码

效果图

二、基础的类封装代码

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,QPushButton
class 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_()

“Pyqt5界面的基本写法和基础的类封装代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI