我有一个QTreeWidget,我想要双击它来打开一个特定的东西,然后单击以开始重命名该项目,但我不想在双击时发生这两个动作。现在,当我双击我的树项目时,我得到了要加载的东西,并且项目处于重命名状态。
我使用以下语句来设置我的QTreeWidget:
this->setEditTriggers(
QAbstractItemView::EditKeyPressed
| QAbstractItemView::SelectedClicked
);
connect(
this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)),
this, SLOT(OnMouseDoubleClicked(QTreeWidgetItem*, int))
);
当我双击它时,我能做些什么来防止项目进入重命名/编辑状态,因为我只希望我的自定义加载操作发生,但是当我单击时仍然保持就地编辑树中的一个元素?
答案 0 :(得分:1)
实际上如果添加
this->setExpandsOnDoubleClick(false);
它同时修复了两个问题,首先当你双击任何一个项目时,带有孩子的项目不会自动展开,这是我们想要的,最重要的是,该项目不会进入州就地重命名/编辑。