在Qt开发过程中,多次遇到要对QTreeWidget中的节点重命名,网上有很多可参考的代码,但在拿过来用后发现还是有很多问题。目前本人认为比较靠谱的参考链接如下:
https://www.cnblogs.com/ling123/p/5503465.html
这个参考我在实现的过程中也发现了问题:第一次启动程序重命名时没有问题,但是在程序启动后,进行第二次、第三次重命名时,就会出现问题。经过测试跟踪,认为应该在nameChanged(QTreeWidgetItem *) 的最后加上一句:
disconnect(m_ui.treeWidget, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(nameChanged(QTreeWidgetItem *)));
目前测试状况良好。