1

我正在使用来自 Qt-Apps.org 的 QPropertyEditor。

是否可以创建一个具有公开属性的类,其中属性的数量是运行时动态的?因此,例如,您有一个类,它表示具有任意长度的浮点向量,该长度在编译时是未知的。所以你有一个

vector<float> myFloats;

作为班级成员。如何使用 Q_PROPERTY 宏将其公开为属性。所以最后我喜欢在属性编辑器小部件中有以下视图:

  • 我的课
    • myFloats[0] 的值
    • myFloats[1] 的值
    • myFloats[2] 的值 ... ...

提前致谢!

4

1 回答 1

3

通过使用动态属性 ...

在您的班级中,您可以在运行时设置该班级的动态属性

DynamicPropertiesClassForQPropertyEditor()
{
    QVector<int> properties;
    ///.... fill in thevalues
    for (int i=0 ; i!=properties.size() ; ++i )
    {
        const QString propertyName = QString( "value of properties[%1]").arg(i);
        setProperty( qPrintable(propertyName) ,properties.at(i) );
    }
}
于 2009-06-03T10:43:28.830 回答