当从PyGTK中的GObject类派生时,可以像在C中一样定义GObject属性,使用__gproperties__
dict和do_get_property
/do_set_property
方法,如Sub-classing GObject in Python中所述。请注意,这是在我们使用Python中的@property
装饰器之前编写的。在
GObject properties的优点是可以连接到对象的notify::property-name
信号,以便在属性发生更改时接收通知。除此之外,是否有任何理由使用GObject属性来代替Python的@property
装饰器?在
为什么不使用它们呢?提供的simplified version Python绑定,定义GObject属性与 定义Python属性。在
尽管如此,除了 通知。我以前用过的就是财产 开始gtk建造者文件夹。例如,在UI文件中
在由构造时设置Image对象的
stock
属性 如果在中使用GObject属性 你的自定义小部件,你也可以利用这个优势。甚至会有这种行为 随着property binding support in Glade的出现更加有用。在另一个潜在优势是GObject properties的最小/最大限制和 整数和浮点的默认值,这有时对 UI相关属性。在
不是真的。它们有很多样板,所以除非我需要
notify
信号,否则我用Python编写我需要的任何东西。在话虽如此,我还是会想“我不需要这个物业的通知”,然后意识到“实际上,我根本不需要这个物业。”
相关问题 更多 >
编程相关推荐