pyqt5 添加属性-类方法用属性形式访问
2024-08-26 23:10:59
方法一 装饰器法
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout,QLabel
from PyQt5.QtGui import QColor
from PyQt5.QtCore import pyqtProperty,Qt class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.c=QColor(Qt.red) @pyqtProperty(QColor) #获取属性,注意要传入属性的类型
def color(self):
return self.c @color.setter #设置属性
def color(self,value):
self.c=value if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo() print(demo.color)
demo.color=QColor(90,90,90)
print(demo.color) demo.show()
sys.exit(app.exec_())
方法二 函数法
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QColor
from PyQt5.QtCore import pyqtProperty,Qt class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.c=QColor(Qt.red) def get_color(self):
return self.c def set_color(self, value):
self.c = value color = pyqtProperty(QColor, fget=get_color, fset=set_color) #添加属性
#第一个参数要填属性的数据类型 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo() print(demo.color)
demo.color=QColor(90,90,90)
print(demo.color) demo.show()
sys.exit(app.exec_())
最新文章
- ubuntu12.10升级至14.04
- 第二百九十七天 how can I 坚持
- SQL,学习基础2
- ligerUI路径问题
- Snowflake Snow Snowflakes(哈希,大素数取模)
- linux mount命令学习
- HTTP协议5之代理--转
- CentOS Linux使用crontab运行定时任务详解
- j2ee分布式架构 dubbo + springmvc + mybatis + ehcache + redis 分布式架构
- Beta No.1
- C#中$的用法
- js截图及绕过服务器图片保存至本地(html2canvas)
- flask --- 02. 路由, 初始化配置,蓝图
- iOS之iOS11、iPhone X、Xcode9 适配指南
- Unity 之 插件下载
- Xtreme9.0 - Block Art 线段树
- 0_Simple__simpleSurfaceWrite
- springboot快速入门(五)——事务管理
- 新版jquery的ajax调用 , jquery1.5以上
- plsql分支,循环,异常
热门文章
- VMware虚拟机看不到共享目录
- A Plug for UNIX POJ - 1087(模板题 没啥好说的。。就用了一个map)
- day8 文件操作
- requests+beautifulsoup爬取豆瓣图书
- JSP总结(二)—Cookie(汇总)
- std::lock_guard和std::unique_lock
- Python基础学习(五)
- JS,JQ及时监听input值的变化,MUI的input搜索框里的清除按钮的点击监听事件
- 2范数和F范数的区别
- 过时date.toLocaleString()的解决方法