我有一个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
显示上下文菜单时单击项目将删除上下文菜单,但不会选择单击的项目。
当右键单击新项目时,这尤其令人迷惑,因为上下文菜单会在新项目上弹出,但是由于未选择该项目,因此上下文菜单的内容是指先前选择的项目。