5

私の .cpp では、QSettings を使用しています。
これは、以前は Qt 4.8 で機能していました。

#include <QSettings>


----------


QSettings settings;
settings.setValue("time_axis_direction", 1);
int test_var = settings.value("time_axis_direction").toInt();


----------

プログラムで 0 が返るのですが、原因はtest_var何ですか?
VSアドインでQtを使用しました。

4

1 に答える 1

10

docsによると、組織名とアプリケーション名を設定する必要があります。

QCoreApplication::setOrganizationName("My Organization");
QCoreApplication::setApplicationName("My Application");
QSettings settings;

または、コンストラクターで次のようにします。

QSettings settings("My Organization", "My Application");

これによりHKCU\SOFTWARE\My Organization\My Application、設定を保存するためのレジストリ エントリが作成されます (Windows の場合)。

QCoreApplication::setOrganizationName() および QCoreApplication::setApplicationName() が以前に呼び出されていない場合、QSettings オブジェクトは設定を読み書きできず、status() は AccessError を返します。

于 2015-09-28T12:35:09.683 に答える