QML地图绑定

时间:2014-09-17 17:32:01

标签: qt qml qt5 qt5.3

我在Qt中完成了菜鸟,所以我的问题可能听起来太愚蠢,但我真的需要帮助。我对C ++知之甚少。

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

height=20
width=15

height=int:20
width=int:15

如果属性应该是强类型的。文件格式不是很重要。为了说清楚,我不知道在这个文件中将定义什么属性,编译时我不知道名称或类型。

之后该程序加载QML文件(我可以这样做)并将加载的文件数据(不知道如何做)注入JavaScript对象,例如名为" Settings",以便QML属性绑定会像

一样使用它
Rectangle {
   width: Settings.width
}

所以问题是:

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

1 个答案:

答案 0 :(得分: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