• 9541阅读
  • 7回复

如何使QSetting读取到的结果为QStrngList?? [复制链接]

上一主题 下一主题
离线conta
 
只看楼主 倒序阅读 楼主  发表于: 2010-07-12
现在我使用QSetting读取配置文件,所有读取的QVariant都是QString

没有办法使得读取的是QStringList?

是不是应该修改配置的格式?
离线dbzhang800

只看该作者 1楼 发表于: 2010-07-13
引用楼主conta于2010-07-12 23:52发表的 如何使QSetting读取到的结果为QStrngList?? :
现在我使用QSetting读取配置文件,所有读取的QVariant都是QString,
有没有办法使得读取的是QStringList?
是不是应该修改配置的格式?

1. 首先你的配置文件是什么样的?里面是一个字符串还是一个字符串列表
2. 如果是字符串列表,QSettings 读进来是QVariant,转成QString 还是QStringList 不是由你自己控制么?
离线conta
只看该作者 2楼 发表于: 2010-07-13
引用第1楼dbzhang800于2010-07-13 08:36发表的  :
1. 首先你的配置文件是什么样的?里面是一个字符串还是一个字符串列表
2. 如果是字符串列表,QSettings 读进来是QVariant,转成QString 还是QStringList 不是由你自己控制么?




例如,假如我的配置文件格式如下:

[Type]
AllTypes          =            type1   type2    type3    type4



现在我要读取所有的字符串"type1"   "type2"    'type3'     'type4'

如果读取进来后,能放在QStringList里,就最好了...
离线paranoid
只看该作者 3楼 发表于: 2010-07-13
先得把大象放进冰箱里,然后才能从冰箱里取出大象
离线gzfreeman
只看该作者 4楼 发表于: 2010-07-13
建立一个QStringList对象 再用append的方法加进去不就行了吗?
离线dbzhang800

只看该作者 5楼 发表于: 2010-07-13
引用第2楼conta于2010-07-13 09:45发表的  :
例如,假如我的配置文件格式如下:
.......

如果你的这个配置文件不可修改,比如:上级指定必须这样,或者是其他程序生成的。
那么读到QString中split一下也就行了,不就多调用一个函数么?
     .toString().split(...);
     .toStringList();
也差不太多

如果可修改,那就多加几个逗号
[Type]
AllTypes          =            type1,   type2,    type3,    type4

离线conta
只看该作者 6楼 发表于: 2010-07-13
引用第5楼dbzhang800于2010-07-13 10:16发表的  :
如果你的这个配置文件不可修改,比如:上级指定必须这样,或者是其他程序生成的。
那么读到QString中split一下也就行了,不就多调用一个函数么?
     .toString().split(...);
     .toStringList();
.......



非常感谢,ok了...
离线sbtree
只看该作者 7楼 发表于: 2010-07-13
引用第3楼paranoid于2010-07-13 09:59发表的  :
先得把大象放进冰箱里,然后才能从冰箱里取出大象

取出来的是冰冻的大象,呵呵
windows 7 + VC++2008 + Qt4.5.2
快速回复
限100 字节
 
上一个 下一个