我正在开发一个带有QTreeWidgetItem的 Qt/C++ 应用程序。创建新项目时,我对其进行设置setEditable
,它允许我直接在 UI 中填写新名称。
我目前正在使用itemChanged
如下所示的方式来捕获更改并保存它。默认情况下,我将新项目名称设置为新文件夹,之后我可以手动更改它。我的问题是当我创建项目时,它变得可编辑,如果我按下Enter或Esc没有任何更改,itemChanged
则不会生成。
有没有我可以使用的基于 SIGNAL/SLOT 的命令,它可以捕获Enter/Esc事件。目标是触发相同的信号
connect(this, SIGNAL(itemChanged(QTreeWidgetItem*, int)),
this, SLOT(onTreeItemChanged(QTreeWidgetItem*)));
我想将Enter/Esc信号连接onTreeItemChanged
到itemChanged
.
我尝试过使用itemActivated
,但即使Enter按下它也不会触发。
connect(this, SIGNAL(itemActivated(QTreeWidgetItem*, int)),
this, SLOT(onTreeItemChanged(QTreeWidgetItem*)));
任何想法,
塞布