6

構成データを保持するiniファイルを作成しようとしていますが、QSettingsオブジェクトを次のように設定するシングルトーンクラスがあります。

... #DEFINE CONFIG_FILE_NAME "myconfig.ini"

m_pSettings = new QSettings(QDir::currentPath()+"/"+CONFIG_FILE_NAME,QSettings::IniFormat);

これはドキュメントに反するものですが、アプリケーションディレクトリを見ると、myconfig.iniファイルが作成されていません。何が間違っているのでしょうか。

4

2 に答える 2

14

QSettingsファイルを強制的に表示するには、少なくとも1つの値を設定してから、sync()メソッドを呼び出す必要があると思います。以下の例があなたのために働くかどうか見てください:

QSettings* settings = new QSettings(QDir::currentPath() + "/my_config_file.ini", QSettings::IniFormat);
settings->setValue("test", "value");
settings->sync();

これがお役に立てば幸いです

于 2011-04-03T13:49:33.860 に答える
0

「/」+CONFIG_FILE_NAMEが期待どおりの結果を返すとは思いません。問題の原因である可能性があります。とにかく演算子+()がQStringクラスに存在するため、QDir :: currentPath()+"/my_config_file.ini"は正常に機能する必要があります。

于 2011-04-03T17:51:32.313 に答える