我对 QGLWidget 和 QTreeView 上的自定义上下文菜单有疑问。我将 QTreeview 和 QGLWidget 添加到带有拆分器的通用小部件中。我通过以下代码打开上下文菜单。
setContextMenuPolicy(Qt::CustomContextMenu);
QMenu::exec(actions, mapToGlobal(QPoint(x, y)),actions.at(0),this);
actions 是 QActions 的列表。
在 QGLWidget 上按下鼠标时,如果满足某些条件,鼠标光标会发生变化。右键单击打开上下文菜单后,如果在其中一个菜单项上按下鼠标,一切都很好。如果在上下文菜单的一项上没有发生鼠标按下,则上下文菜单关闭并且问题开始。问题是即使在按下鼠标时满足所有条件,鼠标光标也不会改变。我不确定 QWidget 是否在这里失去焦点。所以,我尝试在鼠标按下事件中设置焦点。但帮助不大。任何解决此问题的建议。
谢谢!