Settings.ini 在与应用程序相同的文件夹中是写保护
Settings.ini in same folder as application is write protect
我制作了一个小工具应用程序,它通过 QSettings 访问 Settings.ini。我将 ini 文件放在与应用程序本身相同的目录中。但是当我尝试使用该应用程序对其进行写入时,由于没有管理员访问权限,它似乎被阻止了。我猜 Program Files (x86) 文件夹是禁止写入的?那么我该如何解决这个问题呢?
你猜对了,很有可能是权限问题。通常,用户设置文件位于与应用程序本身分开的用户可访问文件夹中,例如 Windows.
上的 C:\Users\<Username>\AppData\Roaming\Company\Application.ini
您真正需要为您的应用程序启用 .ini 设置文件的是这样的(来自 QSettings 文档):
QSettings settings("MySoft", "Star Runner");
QSettings::setDefaultFormat(QSettings::IniFormat);
在 Windows 这将自动 create/use: C:\Users\<Username>\AppData\Roaming\MySoft\Star Runner.ini
所有未来的 QSettings
调用。
(并且在其他平台上也自动工作。)
我制作了一个小工具应用程序,它通过 QSettings 访问 Settings.ini。我将 ini 文件放在与应用程序本身相同的目录中。但是当我尝试使用该应用程序对其进行写入时,由于没有管理员访问权限,它似乎被阻止了。我猜 Program Files (x86) 文件夹是禁止写入的?那么我该如何解决这个问题呢?
你猜对了,很有可能是权限问题。通常,用户设置文件位于与应用程序本身分开的用户可访问文件夹中,例如 Windows.
上的C:\Users\<Username>\AppData\Roaming\Company\Application.ini
您真正需要为您的应用程序启用 .ini 设置文件的是这样的(来自 QSettings 文档):
QSettings settings("MySoft", "Star Runner");
QSettings::setDefaultFormat(QSettings::IniFormat);
在 Windows 这将自动 create/use: C:\Users\<Username>\AppData\Roaming\MySoft\Star Runner.ini
所有未来的 QSettings
调用。
(并且在其他平台上也自动工作。)