QTreeWidget选择了点击版本并双击

时间:2011-12-08 03:04:03

标签: c++ qt qtreewidget

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

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

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

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

1 个答案:

答案 0 :(得分:1)

实际上如果添加

this->setExpandsOnDoubleClick(false);

它同时修复了两个问题,首先当你双击任何一个项目时,带有孩子的项目不会自动展开,这是我们想要的,最重要的是,该项目不会进入州就地重命名/编辑。