1

我在 Qt 中完全是菜鸟,所以我的问题可能听起来太愚蠢了,但我真的需要帮助。我知道一点 C++,就是这样。

所以,我的任务是编写一个读取类似 INI 文件的 C++ 程序(我可以这样做,但不确定最正确/Qt 方式)

height=20
width=15

或者

height=int:20
width=int:15

如果属性应该是强类型的。文件格式不是很重要。为了清楚起见,我不知道将在此文件中定义哪些属性,在编译时我不知道名称或类型。

在该程序加载 QML 文件(我可以这样做)并将加载的文件数据(不知道如何执行此操作)作为 JavaScript 对象注入之后,例如名为“设置”,以便 QML 属性绑定将使用它

Rectangle {
   width: Settings.width
}

所以问题是:

  1. 读取类似 INI 的文件的最正确/qt 风格的方法是什么?
  2. 如何将读取数据作为 JavaScript 对象注入 QML,以便 QML 属性绑定使用它?
4

1 回答 1

1

第一:最Qt风格的方式是使用QSettings类:

QSettings *settings = new QSettings("G:/options1.ini",QSettings::IniFormat);

qDebug()<< "height" <<settings->value("height").toInt();
qDebug()<< "width" <<settings->value("width").toInt();

我的文件:

height=20
width=15

输出:

height 20 
width 15 

请参阅此类的说明。这真的很有帮助。

http://qt-project.org/doc/qt-4.8/qsettings.html

于 2014-09-17T17:38:34.880 回答