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元素}
}
-
-
添加两个函数
save()
和load()
,save()
函数的作用是把你需要保存的数据保持的文件(你可以用QSettings保存到ini文件,或保持到其他格式文件),load()
的作用是从你保存的文件读取数据并添加到QListWidget
中 -
当你构造
QListWidget
时,调用load()
函数 -
在
QListWidget
被关闭/销毁之前,调用save()
函数 -
添加/删除功能只对
QListWidget
内存里的数据操作,不操作文件
-
添加两个函数
-
你应该先理清楚思路逻辑:
文件:ini格式文件 内存:数组或列表 界面:QListWidget
启动时,从文件加载到内存,遍历每一项数据,添加元素到界面
添加时,在内存增加一条数据,保存全部数据到文件,添加元素到界面
删除时,从界面删除该元素,从内存删除该数据,保存全部数据到文件
发表回复