QPropertyEditor中的运行时动态属性

时间:2009-06-02 13:41:20

标签: c++ qt propertygrid propertyeditor

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

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

vector<float> myFloats;

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

  • MyClass的
    • myFloats的值[0]
    • myFloats的值[1]
    • myFloats的价值[2] ... ...

提前致谢!

1 个答案:

答案 0 :(得分:3)

使用dynamic properties ...

在你的课程中,你可以在运行时设置该类的动态属性

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) );
    }
}