现有一个TableWidget,可以直接编辑item的值,编辑后判断是否跟其他item的值重复,如果重复将背景设为红色。将红色的item更改后,若不重复就改为原始颜色。
我尝试用itemChanged信号来操作,但是发现在关联itemChanged的槽函数内更改了item背景颜色后又会触发一遍itemChanged信号。
求问此问题如何解!
感激不尽!
QT C++ QTableWidgetItem重复判断
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qfl_sdu 2021-09-02 13:16关注
itemchanged信号触发条件很多,比如颜色改变、字体改变、内容改变等等,都会触发,处理方法是:
先需要判断数据是否发生变化,如果是是数据内容发生变化,再去处理,如果是其它变化触发的,则忽略。
参考:
QTableWidget信号itemChanged_小夜志的博客-CSDN博客 使用过itemchanged信号的肯定知道,即使没有对表格中的内容进行修改也会发送itemChanged信号,如果在循环判断语句中出现,那可能会造成死循环。对此只有使用间接的方法:首先创建一个标志flag为false。然后在ItemDoubleClicked信号槽中将此置为true,这样就说明已经对表格进行修改了,接着在itemChanged信号槽中对flag进行判断,false则返回,true则继续执行。当然这也是借鉴了别人的想法。... https://blog.csdn.net/qq_36284984/article/details/106057537本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 sub地址DHCP问题
- ¥15 delta降尺度计算的一些细节,有偿
- ¥15 Arduino红外遥控代码有问题
- ¥15 数值计算离散正交多项式
- ¥30 数值计算均差系数编程
- ¥15 redis-full-check比较 两个集群的数据出错
- ¥15 Matlab编程问题
- ¥15 训练的多模态特征融合模型准确度很低怎么办
- ¥15 kylin启动报错log4j类冲突
- ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大