pyqt5 添加属性-类方法用属性形式访问

方法一 装饰器法

 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout,QLabel
 3 from PyQt5.QtGui import QColor
 4 from PyQt5.QtCore import pyqtProperty,Qt
 5
 6
 7 class Demo(QWidget):
 8     def __init__(self):
 9         super(Demo, self).__init__()
10         self.c=QColor(Qt.red)
11
12     @pyqtProperty(QColor)   #获取属性,注意要传入属性的类型
13     def color(self):
14         return self.c
15
16     @color.setter          #设置属性
17     def color(self,value):
18         self.c=value
19
20
21 if __name__ == ‘__main__‘:
22     app = QApplication(sys.argv)
23     demo = Demo()
24
25     print(demo.color)
26     demo.color=QColor(90,90,90)
27     print(demo.color)
28
29     demo.show()
30     sys.exit(app.exec_())

原文地址:https://www.cnblogs.com/liming19680104/p/10425347.html

时间: 2024-08-30 13:23:45

pyqt5 添加属性-类方法用属性形式访问的相关文章

添加属性-类方法用属性方式进行访问

添加属性-类方法用属性方式进行访问:有两种方法:方法一 装饰器方法(这里略 请看装饰器一节)   这里演示方法二 1 class Demo(object): 2 def __init__(self): 3 super(Demo, self).__init__() 4 self._color = '123' 5 6 def get_color(self): 7 return self._color 8 9 def set_color(self, value): 10 self._color = v

js添加key为数字的对象,通过类似于通过访问数组的中括号形式访问对象属性

var obj={};obj[1] = "mm";obj[2]="nn";console.log(obj[1]); 同var obj={};obj["1"] = "mm";obj["2"]="nn";console.log(obj["1"]); 其实创建对象的时候还可以这么写 var obj={};obj["mm"] = "mm"

struts2_9_访问或添加request/session/application属性

web.xml文件1中相同. 1)HelloAction类中的代码: public class HelloAction { public String execute() { ActionContext ctx = ActionContext.getContext(); // 仅仅只是访问和添加三个范围属性使用该方法 // ctx.getApplication().put("app", "application"); // ServletContext里放入app

python 类属性 实例属性 类方法 实例方法 静态方法(转载)

本文是转载,纯粹是为了方便后面自己查看,建议还是看原文的:http://www.cnblogs.com/dolphin0520/archive/2013/03/29/2986924.html 一.先来谈一下类属性和实例属性 在前面的例子中我们接触到的就是类属性,顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似.对于公有的类属性,在类外可以通过类对象和实例对象访问. class people: name = 'j

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-" 什么是面向对象 面向对象就不像面向过程那样按照功能划分模块了,它所关注的是软件系统有哪些参与者,把这些参与者称为对象,找出这些软件系统的参与者也就是对象之后,分析这些对象有哪些特征.哪些行为,以及对象之间的关系,所以说面向对象的开发核心是对象 什么是类 面向对象编程的两个重要的概念:类和对象 类是

OC中属性self.a与_a访问的区别

在OC中我们可以通过指令@property定义属性. OC对属性封装了许多方法,同时也会自动实现一些方法,相比实例变量,感觉更加面向对象些. 一般定义属性的方法如下,在Class Test中定义属性int a. @interface Test:NSObject @property int a; -(void) changeAValue:(int) newValue; @end 在类的实例方法中,我们可以用下面两种方式来访问a属性: 1.直接用属性名访问: -(void) changeAValue

Python面向对象静态方法,类方法,属性方法

静态方法(staticmethod名义上归类管理,实际上在静态方法里访问不到类或实例中的静态属性) 1 class days(object): 2 def __init__(self, food): 3 self.food = food 4 5 @staticmethod # 实际和类没有关系 6 def tell(self): 7 print('这里有%s,%s快来' % (self.food, 'name')) 8 9 10 a = days('香蕉') 11 a.tell(a) 类方法(c

python中静态方法、类方法、属性方法区别

在python中,静态方法.类方法.属性方法,刚接触对于它们之间的区别确实让人疑惑. 类方法(@classmethod) 是一个函数修饰符,表是该函数是一个类方法 类方法第一个参数是cls,而实例方法第一个参数是self(表示该类的一个实例) 类中普通函数至少要一个self参数,代表类对象实例 类方法至少需要一个cls参数,通过cls可以获取到类本身的属性方法等元信息.当有个子类继承时,传入的是子类对象. 对于类方法两种调用方式,类.func(),类实例.func() 静态方法(@staticm

面向对象的成员: 实例变量 类变量 实例方法 类方法 静态方法 属性 私有

成员: 在类里面能写的所有内容都是类的成员 在上?代码中__init__和method都属于类的成员方法.  ?称为实例?法.  总之这样的东西 需要?对象来访问.  ?上方的self.属性1 = 参数1 这个代码的含义是给对象设置属性信息. 含义是这个对象的xxx属性是xxxx. 这种东西?被称之为成员变量或者实例变量, 再或者被称之 为字段. 都是一个意思 变量: 1.实例变量;由对象去访问的变量(字段) 2.类变量:此时,这个变量属于类的,但是对象也可以去访问(静态变量)   先说什么是实