【发布时间】:2018-11-19 16:27:54
【问题描述】:
为了给自己提供一种在 python 中绑定的方法,我有以下代码:
wname = QLineEdit()
dname = "Test Value"
sattr = getattr(wname, "text")
如何使用上面的信息将 dname 的值分配给 wname?
我明白这里通常会使用 setText();但是,我正在探索一种绑定方法,我想知道如何利用 getattr() 函数来提取传递的小部件的 setter 和 getter。谢谢!!!
【问题讨论】:
-
setattr(wname, 'text', dname)或getattr(wname, 'setText')(dname)。只有当属性是 qt property 时,前者才真正有意义。 -
pyqt 是用 C++ 编写的,它不使用 property,因此无法像您想的那样获得 getter 和 setter,正如 ekhumoro 指出的那样,接近您想要的东西是使用 q-properties
-
也许我应该澄清一下我将使用 Qt 小部件进行绑定。
-
@Elcid_91 不会改变任何东西,Qt 小部件是 QObject,你也有 q-properties
-
@Elcid_91 一个可能的选择是继承小部件并建立这些属性。
标签: python python-3.x pyqt pyqt5