Qt 如何使用QSettings加载不同的设置
我有一个Qt应用程序,它需要能够从多个设置文件中加载,以便以不同的方式运行。例如,假设我的应用程序可以支持多种变体,VAR1、VAR2、VAR3。。。我的一个菜单项允许我加载设置。目前,我使用一个QSettings对象来实现这一点,它工作得很好。但是现在我想实现一个不同的变体。我希望从预配置的设置文件加载,而不是手动设置20个或更多设置 据我所知,QSettings不允许我更改源代码。我查看了静态方法QSettings::setPath,但在实例化QSettings对象之前只能执行一次 我的希望是创造方法来: 1-加载出厂默认值 2-使用用户指定的名称保存用户设置文件 3-按名称调用用户设置文件Qt 如何使用QSettings加载不同的设置,qt,qsettings,Qt,Qsettings,我有一个Qt应用程序,它需要能够从多个设置文件中加载,以便以不同的方式运行。例如,假设我的应用程序可以支持多种变体,VAR1、VAR2、VAR3。。。我的一个菜单项允许我加载设置。目前,我使用一个QSettings对象来实现这一点,它工作得很好。但是现在我想实现一个不同的变体。我希望从预配置的设置文件加载,而不是手动设置20个或更多设置 据我所知,QSettings不允许我更改源代码。我查看了静态方法QSettings::setPath,但在实例化QSettings对象之前只能执行一次 我的希望
如果可能的话,我希望不必重写QSettings来满足我的需要。您是否尝试过像INI文件一样访问QSettings?它允许您设置INI文件的位置
QSettings settings("/home/petra/misc/myapp.ini",
QSettings::IniFormat);
您是否尝试过像INI文件一样访问QSettings?它允许您设置INI文件的位置
QSettings settings("/home/petra/misc/myapp.ini",
QSettings::IniFormat);
其中一个
QSettings
构造函数采用文件名:
QSettings::QSettings (const QString& fileName,
Format format,
QObject *parent = 0);
只需使用它来创建所需数量的QSettings
实例:
QSettings s1("path1.ini", QSettings::IniFormat);
QSettings s2("path2.ini", QSettings::IniFormat);
如果需要在它们之间进行复制,您可以查看
QSettings::allKeys()
并获取值。其中一个QSettings
构造函数具有文件名:
QSettings::QSettings (const QString& fileName,
Format format,
QObject *parent = 0);
只需使用它来创建所需数量的QSettings
实例:
QSettings s1("path1.ini", QSettings::IniFormat);
QSettings s2("path2.ini", QSettings::IniFormat);
如果需要在它们之间进行复制,您可以查看
QSettings::allKeys()
并获取值。问题是,一旦加载了设置,就无法轻松地加载其他设置文件。为什么不呢?就像Dave Mateer的回答一样。问题是一旦加载设置,就没有简单的方法可以加载不同的设置文件。为什么不呢?就像戴夫·马特尔的回答一样。