qt中如何写配置文件
① qt编程,如何实现在每次打开程序的时候都可以加载上一次的配置信息,例如第一次打开程序后把几个文件名
如果是指qt编辑器的话,点 文件 session manager 在左下方框中选中“启动时恢复上次会话”。
如果是指自己写代码实现这个功能,就是用qsetting类,加入配置信息后自动生成配置文件,每次打开软件时去读取配置文件。
② Qt 关于读写配置文件.ini,该如何解决
我写个了程序,用到了配置文件来初始化和保存程序中的文本框的信息。在我的电脑可以实现 但是发到不装Qt的电脑上,程序就只可以读取配置文件的数据 , 但是不能把新信息写入。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
没qt的电脑,需要你把自己exe依赖的qt库都打包放在一起,这样在没qt环境的电脑上才能正常运行。
------解决方案--------------------------------------------------------
③ 如何设置Qt中的build settings
在Windows操作系统中,大多把配置文件信息写在注册表当中,或写在*.ini文件中,对于这两种操作都有相应的Windows API函数,在以前的文章中都提及过,这里就不多说了~在Qt中,提供了一个相应的配置文件的类QSetting,使用QSetting类,可以将用户设置以及应用程序的设置轻松存储在磁盘中。QSettings::Scope(配置存储范围)分为UserScope、SystemScope。
QSettings::UserScope:用户环境,设置在当前用户的特定位置中。
QSettings::SystemScope:系统环境,设置在全局型,所有用户均可获得。以下是对应QSettings::Format和QSettings::Scope存放的默认路径位置,其中*表示的是对应的程序名称:
Platform Format Scope Path
Windows NativeFormat UserScope HKEY_CURRENT_USERSoftware*
SystemScope HKEY_LOCAL_MACHINESoftware*
IniFormat UserScope %APPDATA%*.ini
SystemScope %COMMON_APPDATA%*.ini
Unix NativeFormat UserScope $HOME/.config/*.conf
SystemScope /etc/xdg/*.conf
IniFormat UserScope $HOME/.config/*.ini
SystemScope /etc/xdg/*.ini
Mac OS X NativeFormat UserScope $HOME/Library/Preferences/com.*.plist
SystemScope /Library/Preferences/com.*.plist
IniFormat UserScope $HOME/.config/*.ini
SystemScope /etc/xdg/*.ini
在读写时,路径名必须是"/"而不是"\"等。否则不能读写,注意。以Windows XP平台为例,举俩个例子程序~■、读写注册表
//Format为QSettings::NativeFormat
QSettings settings("HKEY_CURRENT_USER\Software\Microsoft\Office",
QSettings::NativeFormat);
//设置键值信息
settings.setValue("11.0/Outlook/Security/DontTrustInstalledFiles", 0);
//获取键值信息
int value = settings.value("11.0/Outlook/Security/DontTrustInstalledFiles").toInt();
对应的值可是bool,double,QString,QStringList,或者是其他QVariant支持的数据类型,也包括注册过的用户自定义类型。
删除设置对应的是settings->remove( const QString & key );■、读取ini配置文件
先定义下software.ini文件的格式,比较简单:[bolg]
Name = "vic.MINg"
//Format为QSettings::IniFormat
QSettings *setIni=new QSettings ("software", QSettings::IniFormat);
//设置键值信息
setIni->beginGroup("bolg");
setIni->setValue("Name", "vic.MINg");
setIni->endGroup();
//获取键值信息
setIni->beginGroup("bolg");
QString resault = setIni->value("Name").toString();
setIni->endGroup();
qDebug()<<resault;
QSetting的应用并不难,但很有用,一些更细致的操作用法,可以参看帮助文档!可以参照示例:$
④ qt 怎样将conf配置文件 转json配置文件
在Windows操作系统中,大多把配置文件信息写在注册表当中,或写在*.ini文件中,对于这两种操作都有相应的Windows API函数,在以前的文章中都提及过,这里就不多说了~
在Qt中,提供了一个相应的配置文件的类QSetting,使用QSetting类,可以将用户设置以及应用程序的设置轻松存储在磁盘中。
QSettings::Format(配置存储格式)分为NativeFormat、IniFormat、InvalidFormat。这里主要讲的是NativeFormat和IniFormat。
QSettings::NativeFormat:在Windows中,利用系统注册表来存储;在 Mac OS X中,使用系统的CFPreferences机制来存储(使用Core Foundation Preference API);在其他平台中,设置则存储在文本文件中。
QSettings::IniFormat:读写*.ini格式的配置文件,NativeFormat在某些操作系统中的扩展名是*.conf。
QSettings::Scope(配置存储范围)分为UserScope、SystemScope。
QSettings::UserScope:用户环境,设置在当前用户的特定位置中。
QSettings::SystemScope:系统环境,设置在全局型,所有用户均可获得。
⑤ qt中怎样写xml文件和读xml文件
qt提供了很详细的xml读写方法
在pro文件中加一个这个
QT += xml
就可以使用比如
#include <QDomNode>
⑥ QT界面编程-服务器配置界面实现
界面采用QTableWidget控件做列表.
写配置文件,采用QSettings类操作文件。
----------------------------------------------------------
建立信号\槽,QTableWidget改变之后,发送singal,你直接操作QSettings就可以了;
如果是配置文件改变,这个你需要使用QTimer一直检查配置文件,如果有改变,你就更改QTableWidget就可以了