1

我有一个 QTreeWidget,我想双击打开一个特定的东西,然后单击开始重命名该项目,但我不希望在双击时同时发生这两个操作。现在,当我双击我的树项目时,我可以加载我的东西,并且该项目处于重命名状态。

我正在使用以下语句来设置我的 QTreeWidget:

this->setEditTriggers(
    QAbstractItemView::EditKeyPressed
    | QAbstractItemView::SelectedClicked
);
connect(
    this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)),
    this, SLOT(OnMouseDoubleClicked(QTreeWidgetItem*, int))
);

当我双击它时,我可以做些什么来防止该项目进入重命名/编辑状态,因为我只希望我的自定义加载操作发生,但是当我单击一个元素时仍然保持原位编辑那个树?

4

1 回答 1

1

实际上,如果您添加

this->setExpandsOnDoubleClick(false);

它同时解决了两个问题,首先,当你双击任何项目时,带有子项的项目不会自动展开,这是我们想要的,最重要的是,项目不会进入 in- 状态地方重命名/版本。

于 2011-12-08T20:19:08.517 回答