【问题标题】:QList as a property in qt designer custom widgetQList 作为 qt 设计器自定义小部件中的属性
【发布时间】:2013-10-17 16:13:45
【问题描述】:

我已经定义了一个自定义小部件,基本上添加到 QLabel。简单的(Qstring 和 enum )属性没问题,出现在我的 QT 设计器中。

我现在正在尝试添加一个列表属性。

所以我将我的财产声明为:

 Q_PROPERTY(QList<int> points READ getpoints )

我有我的私有变量QList&lt;int&gt; m_points;

不过,我在 QT 设计器专有编辑器中看不到我的 points 属性。而且,我不知道出了什么问题。

我尝试添加 DESIGNABLE 标志,但它什么也没做。

有什么线索吗?

【问题讨论】:

  • 你有方法“QList getpoints()”吗?
  • 是的。它返回私有变量。
  • 可能是因为 QVariant 类型系统不包装任意列表。您至少需要将列表包装在 typedef 中,并将其声明为新的可流式元类型。在 QVariant 和 QDataStream 中查看要做什么。
  • @Kuba Ober typedef 真的有必要吗?我认为一旦正确声明 QVariant 应该可以很好地使用这种类型。

标签: c++ qt qlist


【解决方案1】:

问题源于我忘记了属性中的 WRITE 部分。

在 Q_PROPERTY 中添加 set 方法和 Write 就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    相关资源
    最近更新 更多