找回密码
 立即注册
Qt开源社区 门户 查看内容

Python高级进阶#006 pyqt5类封装

2019-10-27 06:58| 发布者: admin| 查看: 984| 评论: 0

摘要: 知识回顾1.掌握纯代码写pyqt5程序2.显示提示框tooltip功能本节知识视频教程以下开始文字讲解:一、代码封装思路1.分析哪些代码需要封装:需要封装的就是我们对窗体配置的代码2.利用类的继承特性3.调用父类Qwidget的 ...


知识回顾

1.掌握纯代码写pyqt5程序

2.显示提示框tooltip功能




本节知识视频教程



以下开始文字讲解:

一、代码封装思路

1.分析哪些代码需要封装:需要封装的就是我们对窗体配置的代码

2.利用类的继承特性

3.调用父类Qwidget的构造方法super().__init__()

4.不要忘记调用自己本身自定义的方法初始化UI

二、GUI位置大小函数

GUI位置大小函数使用setGeometry

作用:这个函数相当于resize函数和move函数功能的合体。

函数使用格式:

控件对象.setGeometry(X轴,Y轴,宽度,高度)

三、信号相关

窗体上面所有的信号被app.exec_()死循环监听着。

信号只是在QT中针对发生了某个事件的一个说法。

槽是QT中发生的具体的某个事件执行的代码。

窗体上对GUI的行为都是某个事件的行为,GUI是被事件驱动的。

信号槽的简单实用

格式:信号源.信号.connet(槽)

格式解释:信号源(按钮).信号(clicked).connet(某个事件方法)

举例:

 #设置按钮的点击后关闭窗体的事件

        btn.clicked.connect(self.close)

注意:在绑定信号槽的过程中,我们的槽方法是不加括号的

四、总结强调

1.掌握类的继承Qwidget的基本思想

2.掌握类的功能封面initUI

3.掌握setGeometry函数

4.掌握简单的信号槽的使用

本节知识源码:
    import sysfrom PyQt5.QtWidgets import QWidget,QApplication,QPushButton
    classMyClass(QWidget):def__init__(self):super().__init__()self.initUI()definitUI(self):self.setWindowTitle("刘金玉编程")self.setGeometry(30,40,300,200)# self.resize(300,200)# self.move(30,40) btn=QPushButton("老刘",self) btn.move(50,60)#设置按钮的点击后关闭窗体的事件 btn.clicked.connect(self.close)self.show()
    if __name__=="__main__": app=QApplication(sys.argv) mc=MyClass() app.exec_()



    长按关注公众号



    相关文章:


    1. python高级进阶#001可视化界面开发环境搭建


    2. python高级进阶#002第一个pyqt5程序


    3. Python高级进阶#003 pyqt5与qtdesigner对照分析


    4. Python高级进阶#004 pyqt5设置窗体图标


    5. python中函数递归VS循环

    6. python中函数的可变参数

    7. python中自定义序列的实现

    8. python第一个程序,定位在小学数学还是幼儿园?

    9. python输入与输出涨姿势

    10. python中认识异常,合理利用异常


    ----------------------------------------------------------------------------------------------------------------------
    我们尊重原创,也注重分享,文章来源于微信公众号:编程创造城市,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
    ----------------------------------------------------------------------------------------------------------------------

    鲜花

    握手

    雷人

    路过

    鸡蛋
    
    公告
    可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了