首页| 论坛| 消息

标题:怎么不让treewidget单击或双击触发itemchanged信号
作者:birdspeed
日期:2021-06-11 06:51
内容:

在treewidget单击或双击会触发itemchanged信号,但是我只需要内容改变才触发itemchanged信号,网上查了很久有一片博文说是“在QTreeWidget中的itemChanged事件会一直递归的调用,也就是说如果我们设置了子节点的状态(使用程序设置,或者手动点击),那么被设置的节点会继续调用itemChanged信号”,怎样才能不让treewidget单击或双击触发itemchanged信号?


#1 [20091001753 06-11 20:51]
仅仅单双击是不会触发 changed 信号的,或许是你不细心导致的:
itemChanged
itemClicked
它俩太像了,有时候不细心可能会弄错。
#2 回 20091001753 的帖子 [birdspeed 06-13 14:05]
20091001753:仅仅单双击是不会触发 changed 信号的,或许是你不细心导致的:
itemChanged
itemClicked
它俩太像了,有时候不细心可能会弄错。 (2021-06-11 20:51) 
单击的确会触发itemChanged信号,而且是两次。最后我用笨办法解决了。先双击记录下文本,然后在itemchanged信号里对比,文本改变就是改变了。再次感谢版主,两次提问都是您回答的。
#3 回 20091001753 的帖子 [birdspeed 06-13 14:18]
20091001753:
仅仅单双击是不会触发 changed 信号的,或许是你不细心导致的:
itemChanged
itemClicked
它俩太像了,有时候不细心可能会弄错。
版主,再请教您一个问题,在tablewidget中检测到文本输入,就在tablewidget上方显示另一个tablewidget,第二个table里的内容根据第一个的实时内容刷新,供选择,和vscode中的自动补全类似,怎么实现这个。我本来是准备在检测文本输入时重新创建一个widget,但是显示的时候会直接退出编辑模式。

回复 发表
主题 版块