我正在努力提高QT,QML和Pyside2(适用于Python的Qt)的速度,发现我遇到了一些问题,部分原因是我在__init__()
中将Properties对象创建为实例,但无法正常工作。一旦将其作为Class对象放置,示例如何向我展示它就起作用了。但是我很难理解为什么。
active_site_prop = Property(int, get_site_num, set_site_num, notify=site_num_changed)
vs
def __init__(self):
QObject.__init__(self)
self.active_site_prop = Property(int, self.get_site_num, self.set_site_num, notify=self.site_num_changed)
我的参考
答案 0 :(得分:2)
您不能在运行时以及q信号和q插槽中实现q属性,因为在C ++中无法在运行时进行自省,因此MOC(MetaObject编译器)在编译时实现了该自省。绑定可以导出相同的概念,对于q属性,它们的行为与本机属性相似。