2014-09-17 4 views
1

Qt의 완벽한 멍청한 질문인데, 내 질문이 너무 어리석게 들릴 수도 있지만 실제로 도움이 필요합니다. 저는 C++을 조금 알고 있습니다.QML지도 바인딩

그래서, 내 작업이 INI-모두 파일을 읽어들이는 C++ 프로그램을 작성하는 것입니다

height=20 
width=15 

또는

height=int:20 
width=int:15 
(나는이 작업을 수행하지만, 대부분의 Qt는/올바른 방법을 잘 수 없습니다) 속성을 강력하게 입력해야하는 경우

파일 형식은 그리 중요하지 않습니다. 명확하게하기 위해이 파일에서 어떤 속성이 정의 될지 모르지만 이름이나 형식은 컴파일 할 때 알지 못합니다.

이 프로그램이 QML 파일을로드 한 후에 (이 작업을 수행 할 수 있음)로드 된 파일 데이터 (예 : "설정"이라는 JavaScript 개체로로드 된 파일 데이터를 주입하여 QML 속성 바인딩에서

Rectangle { 
    width: Settings.width 
} 

그래서 질문은 다음과 같습니다

  1. INI-모두 파일을 읽을 수있는 가장 정확한/QT 스타일의 방법은 무엇입니까?
  2. 어떻게 읽을 데이터를 QML로 삽입하여 QML 속성 바인딩에서 사용할 수 있습니까?

답변

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