0

QVariant のデータ型に基づいて ListView で異なる QtQuick ウィジェットを使用する方法はありますか?

QVariant がブール型の場合、ウィジェットはチェックボックスになります。整数の場合、ウィジェットは SpinBox になります。QString の場合、ウィジェットは TextBox になります。

...等...

QSettings を使用してアプリケーション設定をロード/保存したいと考えています。

例えば:

QSettings settings("userSettings.ini", QSettings::IniFormat);
setAutoUpdate(settings.value("AutoUpdate").toBool());
setAutoUpdateFrequency(settings.value("AutoUpdateFrequency").toInt());
setLastFilePath(settings.value("LastFilePath").toString());

変換から推測できるように、myautoUpdate型はブール値、myautoUpdateFrequencyは整数、mylastFilePathは QString です。フォームに各値をハードコーディングして手動で配置することなく、設定/環境設定ダイアログボックス内にリストを作成したいと考えていました。

同僚による 1 つの提案は、Javascript が作成時に QVariant 型を決定し、新しいウィジェットを作成し、必要なすべてのプロパティをモデルに接続するなどであるというものでした。それが機能するかどうか、またはそれがこの状況に適したアプローチであるかどうかはわかりません。

4

1 に答える 1

0
Item {
    width: parent.width; height: parent.height

    Loader {
       id: myLoader
       source: parent.width<200 ? "ConditionMet.qml" : "ConditionNotMet.qml"
       width: 200
       height: 100
    }

}


これは、条件に基づいてさまざまなモジュールをロードするために使用できるサンプル コードです。ケースに合わせて同じものを使用できます。
基本的には、条件付きソースでローダーを使用します。

于 2014-10-30T11:19:27.920 に答える