qt qlistwidget 如何记录参数至ini

代码货栈 毕业设计 1

实现了一个QListWidget的用户交互功能,现在发现不能记录参数,想用ini和qsetting记录,但是感觉这个实现过程好像不是很对,希望指教 如: 用户可自定义添加删除 listwidget中的元素,并且点击保存之后,会保存元素至ini中,下次启动时自动加载,不用重复添加元素, 如: 元素QListWidget列表: a b c d 按键:添加 按键:删除(点击字符) 输入字符: 用户下拉框选择给定字符

按我现在的想法是 在添加、删除的slot函数中加

slot添加(){
写入qlist
}
slot删除(){
删除qlist
}

保存/回车后写入ini

但是这样又会在应用启动时额外执行一次slot添加 函数,导致ini参数翻倍 要加一个判断是否第一次执行? 问:该设计逻辑上是否正确,是否有更好的写入方法

bool a = 0;
if (页面槽函数启动){a=1;}
slot添加(){
if(第一次){写入list}
}
slot删除(){
if(该参数存在){删除qlist元素}
}

回复

共2条回复 我来回复
  • 毕设工坊
    这个人很懒,什么都没有留下~
    评论
    1. 添加两个函数 save() load() save() 函数的作用是把你需要保存的数据保持的文件(你可以用QSettings保存到ini文件,或保持到其他格式文件), load() 的作用是从你保存的文件读取数据并添加到 QListWidget
    2. 当你构造 QListWidget 时,调用 load() 函数
    3. QListWidget 被关闭/销毁之前,调用 save() 函数
    4. 添加/删除功能只对 QListWidget 内存里的数据操作,不操作文件
    0条评论
  • 代码海岸
    这个人很懒,什么都没有留下~
    评论

    你应该先理清楚思路逻辑:

    文件:ini格式文件 内存:数组或列表 界面:QListWidget

    启动时,从文件加载到内存,遍历每一项数据,添加元素到界面

    添加时,在内存增加一条数据,保存全部数据到文件,添加元素到界面

    删除时,从界面删除该元素,从内存删除该数据,保存全部数据到文件

    0条评论

发表回复

登录后才能评论