質問

Qt-Apps.org の QPropertyEditor を使用しています。

プロパティの量が実行時に動的になる、公開されたプロパティを持つクラスを作成することは可能ですか?たとえば、コンパイル時には不明な任意の長さの浮動小数点数のベクトルを表すクラスがあるとします。それで、あなたは

vector<float> myFloats;

クラスのメンバーとして。Q_PROPERTY マクロを使用してこれをプロパティとして公開する方法。したがって、最後に、プロパティ エディター ウィジェットに次のビューを表示したいと思います。

  • 私のクラス
    • myFloats[0] の値
    • myFloats[1]の値
    • myfloatsの価値[2] ......

前もって感謝します!

役に立ちましたか?

解決

を使用することにより動的プロパティする ...

あなたのクラスでは、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) );
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top