QTreeWidget выбрал клик издание и двойной клик - PullRequest
1 голос
/ 08 декабря 2011

У меня есть QTreeWidget, для которого я хочу двойной щелчок, чтобы открыть определенную вещь, и один щелчок, чтобы начать переименование элемента, но я не хочу, чтобы оба действия происходили при двойном щелчке. Прямо сейчас, когда я дважды щелкаю свой элемент дерева, я загружаю свои вещи, и элемент переходит в состояние переименования.

Я использую следующие операторы для установки моего QTreeWidget:

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

Есть ли что-то конкретное, что я мог бы сделать, чтобы элемент не перешел в состояние переименования / редактирования, когда я дважды щелкаю по нему, так как я хочу, чтобы выполнялось только мое настраиваемое действие загрузки, но все еще сохраняю редактирование на месте, когда я щелкаю элемент в дереве?

1 Ответ

1 голос
/ 09 декабря 2011

На самом деле, если вы добавите

this->setExpandsOnDoubleClick(false);

Это исправляет две проблемы одновременно, во-первых, когда вы дважды щелкаете мышью по любому элементу, элементы с детьми не раскрываются автоматически, как мы и хотелии что самое важное, элемент не находится в состоянии переименования / издания на месте.

...