Python高级进阶#006 pyqt5类封装

简介: Python高级进阶#006 pyqt5类封装

知识回顾



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 sys
from PyQt5.QtWidgets import QWidget,QApplication,QPushButton
class MyClass(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(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_()
相关文章
|
7天前
|
缓存 监控 程序员
Python中的装饰器是一种特殊类型的声明,它允许程序员在不修改原有函数或类代码的基础上,通过在函数定义前添加额外的逻辑来增强或修改其行为。
【6月更文挑战第30天】Python装饰器是无侵入性地增强函数行为的工具,它们是接收函数并返回新函数的可调用对象。通过`@decorator`语法,可以在不修改原函数代码的情况下,添加如日志、性能监控等功能。装饰器促进代码复用、模块化,并保持源代码整洁。例如,`timer_decorator`能测量函数运行时间,展示其灵活性。
16 0
|
4天前
|
存储 JSON 测试技术
python中json和类对象的相互转化
针对python中类对象和json的相关转化问题, 本文介绍了4种方式,涉及了三个非常强大的python库jsonpickle、attrs和cattrs、pydantic,但是这些库的功能并未涉及太深。在工作中,遇到实际的问题时,可以根据这几种方法,灵活选取。 再回到结构化测试数据的构造,当需要对数据进行建模时,也就是赋予数据业务含义,pydantic应该是首选,目前(2024.7.1)来看,pydantic的生态非常活跃,各种基于pydantic的工具也非常多,建议尝试。
|
11天前
|
开发者 Python
Python进阶:深入剖析闭包与装饰器的应用与技巧
Python进阶:深入剖析闭包与装饰器的应用与技巧
|
11天前
|
分布式计算 算法 Python
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
Python函数进阶:四大高阶函数、匿名函数、枚举、拉链与递归详解
|
11天前
|
Python
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
Python面向对象进阶:深入解析面向对象三要素——封装、继承与多态
|
11天前
|
Java Python
Python进阶之旅:深入理解变量作用域、垃圾回收、拷贝机制与异常处理
Python进阶之旅:深入理解变量作用域、垃圾回收、拷贝机制与异常处理
|
1天前
|
设计模式 Python
深度揭秘!Python元类:掌握它,让你的代码拥有创造类的能力
【7月更文挑战第6天】Python元类探秘:**元类是类的类,用于控制类的创建。通过定义元类,可自定义类的行为,如动态添加方法或改变继承结构。示例中,`my_metaclass`在创建类时添加`new_method`。元类强大且适用于高级编程,如动态修改、注册类或实现设计模式。理解并善用元类能提升Python编程技巧。
6 0
|
4天前
|
人工智能 Linux 开发工具
|
4天前
|
数据可视化 定位技术 API
|
5天前
|
安全 Java 开发者
Python中的多线程高级使用方法
**Python多线程高级指南摘要** 本文探讨了Python中多线程的高级技术,尽管GIL限制了并行执行,但多线程仍适用于IO密集型任务和提升UI响应。内容包括: - 使用`threading`模块导入和创建线程,示例展示了如何启动多个线程执行函数。 - 高级用法涉及线程池,通过`ThreadPoolExecutor`管理线程,简化大量线程的创建和控制。 - 线程同步:介绍锁和条件变量的概念,以及如何使用它们确保数据一致性。 - 避免死锁的策略,如使用`try/finally`确保锁的正确释放 - 线程局部数据(Thread Local Data)允许每个线程拥有独立的数据副本,避免冲突