Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QList作为qt设计器自定义小部件中的属性_C++_Qt_Qlist - Fatal编程技术网

C++ QList作为qt设计器自定义小部件中的属性

C++ QList作为qt设计器自定义小部件中的属性,c++,qt,qlist,C++,Qt,Qlist,我定义了一个自定义小部件,基本上是添加到QLabel中。简单(Qstring和enum)属性正常,并显示在我的QT设计器中 我现在尝试添加一个属性,它是一个列表 因此,我声明我的财产为: Q_PROPERTY(QList<int> points READ getpoints ) Q_属性(QList points READ getpoints) 我有我的私有变量QList m_points 但是,我无法在QT designer属性编辑器中看到我的points属性。而且,我不知道

我定义了一个自定义小部件,基本上是添加到QLabel中。简单(Qstring和enum)属性正常,并显示在我的QT设计器中

我现在尝试添加一个属性,它是一个列表

因此,我声明我的财产为:

 Q_PROPERTY(QList<int> points READ getpoints )
Q_属性(QList points READ getpoints)
我有我的私有变量
QList m_points

但是,我无法在QT designer属性编辑器中看到我的points属性。而且,我不知道出了什么问题

我尝试添加可指定标志,但它没有任何作用


有线索吗

问题源于我忘记了属性中的写入部分


在Q_属性中添加set方法和Write就成功了。

是否有方法“QList getpoints()”?是的。它返回私有变量。可能是因为QVariant类型系统不包装任意列表。您至少需要将列表包装在typedef中,并将其声明为新的可流化元类型。在QVariant和QDataStream中查找要执行的操作。@Kuba Ober typedef真的有必要吗?我认为,一旦正确声明了QVariant,它应该可以很好地处理这个类型。