У меня есть QTreeView
класса с контекстным меню установлена следующим образом:Qt контекстное меню нарушая выбор в QTreeView
m_ui.tree->setContextMenuPolicy(Qt::CustomContextMenu);
connect(m_ui.tree, SIGNAL(customContextMenuRequested(const QPoint&)),
this, SLOT(ShowTreeContextMenu(const QPoint&)));
...
void ShowTreeContextMenu(const QPoint& point)
{
m_treeContextMenu->exec(m_ui.tree->viewport()->mapToGlobal(point));
}
Однако, когда отображается контекстное меню QTreeView
больше не будет реагировать на щелчки мыши. Нажав на элемент в QTreeView
, пока отображается контекстное меню, удаляется контекстное меню, но не выбирается элемент с нажатием.
Это особенно дезориентирует при щелчке правой кнопкой мыши на новом элементе, поскольку контекстное меню появляется поверх нового элемента, но поскольку элемент не был выбран, содержимое контекстного меню относится к ранее выбранному элементу.
Я думаю, что это исправлено в Qt 4.4.3. – Nick