【发布时间】:2008-10-06 06:10:26
【问题描述】:
我有一个 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 中得到修复
标签: qt user-interface contextmenu qtreeview