我对KConfig的用法有疑问。我能够在我的.kde4 / share / config / _appname_rc配置文件中编写和读取设置
KConfig basicconf;
KConfigGroup conf = KConfigGroup(basicconf.group("Settings"));
conf.writeEntry("filepath",QString("/path/"));
basicconf.sync();
但我不明白如何使用“默认”配置文件在我第一次运行我的应用程序时读取,或者如果应用程序设置需要重置。
我更喜欢不使用KConfig XT,因为我的项目很小,带有kcfgc *文件的KConfigXT似乎过多。
提前谢谢
答案 0 :(得分:3)
首先,这个:
KConfigGroup conf = KConfigGroup(basicconf.group(“Settings”));
可以写得更清楚,至少是imho,如:
KConfigGroup conf(& basicconf,“Settings”);
另请注意,“常规”是最常用的“通用”组名称。反正...
您可以在应用程序中安装默认配置文件;将它安装到$ PREFIX / share / config /,这可以通过CMakeLists.txt文件轻松实现:
安装(FILES<您的配置文件> DESTINATION $ {CONFIG_INSTALL_DIR})
KConfig从那里处理所有合并的魔力;你不需要做任何事情。
至于KConfigXT过度使用,使用它有很多好处,包括自动化配置对话框,确保强制执行边界和合法值等。编写一个小文件,在CMakeLists.txt文件中弹出一个条目通常很多工作少于做手工免费提供的工作。对此有一个很棒的教程on TechBase。
答案 1 :(得分:1)
使用KGlobal::config()获取指向应用程序拥有的默认KConfig对象的指针。它自动引用$ KDEHOME / share / config中的文件。
KConfig XT有意义,因为