1、写配置文件://路径为程序路径下,文件不存在会自行创建 QString iniFilePath = QCoreApplication::applicationDirPath() + "/config.ini"//新建QSettings类,路径+格式 QSettings settings(iniFilePath,QSettings::IniFormat)//设置编码,使支持中文 settings.setIniCodec("UTF-8")//设置配置文件值,“节点 + / + 键”,值 settings.setValue("ADDRESS/detail","武汉")2、读取配置文件:QString str = settings.value("ADDRESS/detail").toString()
可以先删除再添加:/// <summary>
/// 将指定的键值对写到指定的节点,如果已经存在则替换。
/// </summary>
/// <param name="lpAppName">节点,如果不存在此节点,则创建此节点</param>
/// <param name="lpString">Item键值对,多个用\0分隔,形如key1=value1\0key2=value2
/// <para>如果为string.Empty,则删除指定节点下的所有内容,保留节点</para>
/// <para>如果为null,则删除指定节点下的所有内容,并且删除该节点</para>
/// </param>
/// <param name="lpFileName">INI文件</param>
/// <returns>是否成功写入</returns>
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)] //可以没有此行
private static extern bool WritePrivateProfileSection(string lpAppName, string lpString, string lpFileName)
引入:dll文件,按照上面的代码,可以添加新section
我写个了程序,用到了配置文件来初始化和保存程序中的文本框的信息。在我的电脑可以实现 但是发到不装Qt的电脑上,程序就只可以读取配置文件的数据 , 但是不能把新信息写入。------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
没qt的电脑,需要你把自己exe依赖的qt库都打包放在一起,这样在没qt环境的电脑上才能正常运行。
------解决方案--------------------------------------------------------
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)