有没有办法根据 QVariant 的数据类型在 ListView 中使用不同的 QtQuick 小部件?
如果我的 QVariant 是布尔类型,则小部件将是一个复选框。如果它是整数,则小部件将是 SpinBox。如果它是 QString,则小部件将是 TextBox。
...ETC...
我想使用 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 类型并创建新的小部件,将所有必要的属性连接到模型,等等。我不确定这是否可行,或者这是否是适合这种情况的正确方法。