【急】关于QSettings的问题

lb329972196 2013-05-06 03:28:00
用的Qt4.8.2版本 在windows下
我想用QSettings读取一个配置文件,想要读的内容是这样的:
value_2=501,2,variable2,this is variable2(#501)
我想把等号后面的字符串读出来,用的value函数,然后转成QString,但是出来的字符串就是空的,我把里面的逗号都去掉之后就能读出来,请问大神们我该怎么解决这个问题?
...全文
277 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lb329972196 2013-05-07
  • 打赏
  • 举报
回复
引用 4 楼 dext 的回复:
应为返回的是QStringList啊

QSettings s(...., QSettings::IniFormat);
setWindowTitle(s.value("value_2").toStringList()[2]); // this is variable2(#501)
哈哈非常感谢!
Inhibitory 2013-05-07
  • 打赏
  • 举报
回复
引用 4 楼 dext 的回复:
应为返回的是QStringList啊

QSettings s(...., QSettings::IniFormat);
setWindowTitle(s.value("value_2").toStringList()[2]); // this is variable2(#501)
确实如此
dext 2013-05-06
  • 打赏
  • 举报
回复
应为返回的是QStringList啊

QSettings s(...., QSettings::IniFormat);
setWindowTitle(s.value("value_2").toStringList()[2]); // this is variable2(#501)
xcyl 2013-05-06
  • 打赏
  • 举报
回复
用xml吧,ini局限性太大
Inhibitory 2013-05-06
  • 打赏
  • 举报
回复
我也遇到过这样的情况,QSettings读取ini有逗号的值时会返回空,要么使用XML,要么换一个分隔符吧. 很有可能是QSettings的Bug,但没有深究。
lb329972196 2013-05-06
  • 打赏
  • 举报
回复
我再补充一下: 我在Linux下Qt3编译环境,用QSettings的readEntry函数就能正常读出来这个字符串,我又在上述的Qt4环境下用的qt3support,用的readEntry函数,还是不能读出字符串,逗号去掉就能。 还有,逗号我都检查了不是中文的逗号,因为在Linux下都读出来了,文件是同一个文件肯定没问题。

16,822

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧