① 在QT中如何读写数组到INI文件
用Qt的话还是用QFile读取文件吧,功能比较强大,配套的QString或者IO
Stream的功能同样强大,处理起来会很方便
问题是你描述的太简单了,就是去Qt assistant看看QFile怎么用就可以了
② Qt的QSettings类读取ini文件,值中有分号时,分号后的值读取不到;如name=cxl;zyx,读取到的内容为cxl
name = "cxl;zyx,"
用引号引起来,就可以读了。
但如果是两个名字的话,为什么不用下面的句子呢:
name1=cxl
name2=zyx
……
③ qt实现打开XX.ini文件,修改其中字段,保存文件。。。
QT没有用过,你现在用的什么版本
④ Qt 关于读写配置文件.ini,该如何解决
我写个了程来序,用到了源配置文件来初始化和保存程序中的文本框的信息。在我的电脑可以实现 但是发到不装Qt的电脑上,程序就只可以读取配置文件的数据 , 但是不能把新信息写入。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
没qt的电脑,需要你把自己exe依赖的qt库都打包放在一起,这样在没qt环境的电脑上才能正常运行。
------解决方案--------------------------------------------------------
⑤ Qt中配置文件QSettings使用方法
QSettings类提供了持久的跨平台应用程序设置。用户通常期望应用程序记住它的设置(窗口大小、位置等)所有会话。这些信息通常存储在Windows系统注册表,OS X和iOS的属性列表文件中。在Unix系统中,在缺乏标准的情况下,许多应用程序(包括KDE应用程序)使用INI文本文件。QSettings围绕这些抽象技术,使我们能够以便携的方式保存和恢复应用程序设置。它还支持自定义存储格式。QSettings API基于QVariant,可以保存很多基础的类型,比如 QString、QRect、QImage等。如果你需要的是一个非持久性的基于内存结构,可以考虑使用QMap<QString, QVariant>代配敬镇替。
QString exe_FilePath = QCoreApplication::applicationDirPath(); //获取exe应用程序路径
QString current_FilePath= QDir::currentPath(); //获取当前工作目录路径
QSetting对象既可以创建在栈上,也可以创建在堆(即new)上,构建和销毁速度很快。当创建一个QSetting对象时,必须指定公司或组织名称(或文件名),和产品应用培粗名称(或文件格式,例如Windows中的.ini)。
方法一:
方法二:
方法一:
效果如下
方稿尘法二:
效果如下
⑥ Qt中的QSettings这个类有.value这个成员函数吗
必须有啊,给你一个读写配置文件的方法,你试试!可以有
bool QQUtil::writeInit(QString path, QString user_name, QString password)
{
if(path.isEmpty() || user_name.isEmpty() || password.isEmpty())
{
return false;
}
//创建配置文件操作对象
QSettings settings(path, QSettings::IniFormat);
//将用户信息写入配置文件
settings.beginGroup("config");
settings.setValue("user_name", user_name);
settings.setValue("password", password);
settings.endGroup();
return true;
}
bool QQUtil::readInit(QString path, QString user_key, QString &user_value)
{
user_value = QString("");
if(path.isEmpty() || user_key.isEmpty())
{
return false;
}
//当前目录的INI文件
QSettings settings(path, QSettings::IniFormat);
//读取用户配置信息
user_value = settings.value("config/"+user_key).toString();
return true;
}