0
点赞
收藏
分享

微信扫一扫

QTableWidget注意点总结



  • 这是通过cellChanged信号实现的,那么这个信号坑在哪里?坑在它的触发条件!QT上说:item上的data发生改变触发该信号。问题在于data二字,相信很多人都认为data是item的内容或者其他数据,其实不仅仅只是内容是data。内容(text)是data,行列数是data,就连随随便便调用一下item的方法这个过程也是data。真坑,导致我使用的时候在槽函数里面经常死循环​

使用过itemchanged信号的肯定知道,即使没有对表格中的内容进行修改也会发送itemChanged信号,如果在循环判断语句中出现,那可能会造成死循环。

对此只有使用间接的方法:首先创建一个标志flag为false。然后在ItemDoubleClicked信号槽中将此置为true,这样就说明已经对表格进行修改了,接着在itemChanged信号槽中对flag进行判断,false则返回,true则继续执行。当然这也是借鉴了别人的想法


里面的单元格如果初始状态没有数据,则此item为null,如果编辑了,然后又删除了内容,item却是仍然有的了,且转为数字默认为0
 




举报

相关推荐

0 条评论