Есть ли способ использовать различные виджеты QtQuick в ListView на основе типа данных QVariant?Изменение виджета QML во время выполнения
Если мой 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());
Как можно судить по конверсии, мой autoUpdate
типа представляет собой логическое значение, мой autoUpdateFrequency
представляет собой целое число, и мой lastFilePath
является QString. Я надеялся заполнить список в диалоговом окне «Настройки/Предпочтения» без необходимости жесткого кода и вручную разместить каждое из значений в форме.
Одно из предложений коллеги заключалось в том, что Javascript мог определить тип QVariant во время создания и создать новый виджет, подключить все необходимые свойства к модели и т. Д. Я не уверен, что это сработает, или это правильный подход для этой ситуации.