0

パラメータがフォーム名、親ウィジェットであるカスタムメイドの INI パーサーを使用しています。構文は次のようになります。

int width = w->findchild("form_name","section_to_be_accessed_name").toInt();

私は今コードを持っていないので、構文に少し間違っているかもしれません。INI ファイルの 2 ページ目に記載されているラベルをいくつか追加したいと思います。これらのイメージのプロパティは、ini ファイル自体に記載されています。絶対パスなどでも

複数の組み合わせを試しましたが、うまくいきません。誰でも同じ構文を教えてもらえますか? ここでの戻り値は何ですか?ラベル、Qt デザイナーで既にラベルを作成しています。としましょうlabel1。しかし、多くのラベルがあります。教えてください。

4

1 に答える 1

8

QSettingsは、INI ファイルの処理に適した優れたクラスです。私はそれをチェックアウトします。適切に最適化されており、非常に堅牢です。またQVariant、非常にインテリジェントな方法で使用します。また、「グループ」もうまく処理します。

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

// in your main, or somewhere very early in your program
qApp->setApplicationName("Star Runner");
qApp->setOrganizationName("MySoft");

QSettings::setDefaultFormat(QSettings::IniFormat);

後で設定にアクセスまたは設定したい場合

QSettings s;  // in windows this would be
// C:/Users/<username>/AppData/Roaming/MySoft/Star Runner.ini

または、この方法で ini ファイルを指定して、特定の ini ファイルを指すこともできます。

QSettings::QSettings ( const QString & fileName, Format format, QObject * parent = 0 )

QSettings s("path/to/my/inifile.ini", QSettings::IniFormat);

次に、設定変数の使用例を示します。

// set the setting
s.setValue("group_name/setting_name", new_value); 

// retrieve the setting
// Note: Change "toType" to whatever type that this setting is supposed to be
current_value = s.value("group_name/setting_name", default_value).toType(); 

ネストされた要素と GUI のレイアウトとデザインを処理したい場合は、XML または JSON を調べます。どちらも Qt でサポートされています。

XML は、Qt Creator が Qt Designer によって作成された UI ファイルを格納するネイティブな方法です。

http://qt-project.org/doc/qt-5.0/qtxml/qtxml-module.html

http://qt-project.org/doc/qt-5.0/qtcore/json.html

それが役立つことを願っています。

于 2013-07-09T17:08:31.297 に答える