【发布时间】:2013-10-17 16:13:45
【问题描述】:
我已经定义了一个自定义小部件,基本上添加到 QLabel。简单的(Qstring 和 enum )属性没问题,出现在我的 QT 设计器中。
我现在正在尝试添加一个列表属性。
所以我将我的财产声明为:
Q_PROPERTY(QList<int> points READ getpoints )
我有我的私有变量QList<int> m_points;
不过,我在 QT 设计器专有编辑器中看不到我的 points 属性。而且,我不知道出了什么问题。
我尝试添加 DESIGNABLE 标志,但它什么也没做。
有什么线索吗?
【问题讨论】:
-
你有方法“QList
getpoints()”吗? -
是的。它返回私有变量。
-
可能是因为 QVariant 类型系统不包装任意列表。您至少需要将列表包装在 typedef 中,并将其声明为新的可流式元类型。在 QVariant 和 QDataStream 中查看要做什么。
-
@Kuba Ober typedef 真的有必要吗?我认为一旦正确声明 QVariant 应该可以很好地使用这种类型。