2009-06-02 94 views
1

我正在使用Qt-Apps.org中的QPropertyEditor。QPropertyEditor中的運行時動態屬性

是否可以創建一個暴露屬性的類,其中屬性的數量是運行時動態的?例如,你有一個類,它表示一個在編譯時不知道的具有任意長度的浮點向量。所以你有一個

vector<float> myFloats; 

作爲一個類成員。如何使用Q_PROPERTY宏將其作爲屬性公開。因此,在結束時,我喜歡有在屬性編輯器插件的下面的視圖:

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

感謝提前!

回答

3

通過使用dynamic properties ...

在你的U類可以在運行時設置該類

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

大的動態特性!這很容易... – 2009-06-03 14:09:00