QSettings - ini 文件的位置在哪里?
我正在使用 QSettings 将一些数据存储为 Windows 中的 ini 文件。 我想查看ini文件,但我不知道ini文件的位置在哪里。
这是我的代码:
QSettings *set = new QSettings(QSettings::IniFormat, QSettings::UserScope, "bbb", "aaa");
set->setValue("size", size());
set->setValue("pos", pos());
我必须在哪里查看?或者我可能错过了将其写入文件的代码? QSettings
何时写入其值?
I'm using QSettings
to store some data as ini file in Windows.
I want to see the ini file, but I don't know what is the location of the ini file.
This is my code:
QSettings *set = new QSettings(QSettings::IniFormat, QSettings::UserScope, "bbb", "aaa");
set->setValue("size", size());
set->setValue("pos", pos());
Where do I have to look? Or may be I miss the code which write it to the file?
When does the QSettings
write its values?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
要打印设置文件的确切位置,请使用 QSettings 类的 fileName 方法。
控制台输出如下所示:
To print out the exact location of your settings file use method fileName method of QSettings class.
Console output looks then like:
我想你会在这里找到你想要的一切:http://doc .qt.io/archives/qt-4.7/qsettings.html
它是特定于平台的,请参见:
平台特定注释
存储应用程序设置的位置
您也可以将设置存储在文件中:
I think you'll find everything you're looking for here : http://doc.qt.io/archives/qt-4.7/qsettings.html
It's plateform specific, see under :
Platform-Specific Notes
Locations Where Application Settings Are Stored
You can store Settings in files as well :
QSettings
将位置更改保存到QSettings.Scope
枚举。QSettings
默认保存到本地范围。在 Linux 上,我在以下位置找到了本地设置:~/.config/CompanyName/ApplicationName.conf
QSettings
save location changes to theQSettings.Scope
enum.QSettings
save to the Local scope by default. On Linux, I found my local settings in:~/.config/CompanyName/ApplicationName.conf
在 Linux 中,您可以使用此代码片段或将此行插入到您的主代码中,以便使用 python 查找文件的位置。
它应该返回这样的输出。
/$HOME/.config/组织名称/应用名称.conf
来源
In linux you can use this snippet or insert this lines into your main code for find location of your file with python.
It should return an output like this.
/$HOME/.config/Organization Name/App name.conf
Source
查看 QStandardPaths 类,它链接到多个标准路径,包括所有支持平台上的配置。 https://doc.qt.io/qt-5/qstandardpaths.html
QT≥5.5:
QT≤ 5.5:
共享配置目录、应用程序数据目录等中有配置文件的路径。
Check out the
QStandardPaths
class, it links to multiple standard paths including configuration on all supported platforms. https://doc.qt.io/qt-5/qstandardpaths.htmlQT >= 5.5:
QT < 5.5:
There are paths for config files in shared config directories, application data directories, and more.
如果您创建
QSettings
而不提供任何特定路径,则ini
文件将位于应用程序路径。但要小心:应用程序路径可能会改变:例如,如果您在调试模式下使用 Qt Creator 开发应用程序,则应用程序路径位于
/debug
子文件夹中。如果您在发布模式下运行它,则应用程序路径位于
/release
子文件夹中。当部署应用程序时,默认情况下,应用程序路径与可执行文件位于同一文件夹中(至少对于 Windows)。
If you create a
QSettings
without giving any specific path, theini
file will be located in the application path.Be careful though : the application path might change : for instance, if you are developping your app with Qt Creator, in debug mode, the application path is in the
/debug
subfolder.If you are running it in release mode, the application path is in the
/release
subfolder.And when your application is deployed, by default, the application path is in the same folder as the executable (at least for Windows).
在 Windows 上,如果不提供 ini 文件名,您将在注册表中找到数据。
使用此代码片段:
运行此代码后,您将看到输出:
"\\HKEY_CURRENT_USER\\Software\\Joe\\SettingsDemo"
现在,打开 regedit 工具并按照您列出的路径进行操作得到:1
On Windows without providing an ini filename, you'll find the data in the registry.
Using this code snippet:
After running this code, you'll see the output:
"\\HKEY_CURRENT_USER\\Software\\Joe\\SettingsDemo"
Now, opening the regedit tool and following the path list you got: 1
在windows中路径如下:
C:\Users\用户名\AppData\Roaming\bbb
in windows path is like below:
C:\Users\user_name\AppData\Roaming\bbb
在 Mac OSX 上,我在 ~/Library/Preferences 下找到了该文件
http://doc.qt.io/archives/qt-4.7/qsettings.html
On Mac OSX, I found the file under at ~/Library/Preferences
http://doc.qt.io/archives/qt-4.7/qsettings.html