我在QGLWidget和QTreeView上的自定义上下文菜单有问题。我将QTreeview和QGLWidget添加到具有拆分器的常见小部件中。我通过以下代码打开上下文菜单。
setContextMenuPolicy(Qt::CustomContextMenu);
QMenu::exec(actions, mapToGlobal(QPoint(x, y)),actions.at(0),this);
操作是QActions的列表。
鼠标按下QGLWidget时,如果满足某些条件,鼠标光标会改变。在右键单击打开上下文菜单后,如果在其中一个菜单项上完成鼠标按下,一切都很好。如果上下文菜单中的某个项目未发生鼠标按下,则关闭上下文菜单并开始出现问题。问题是即使鼠标按下时所有条件都满足,鼠标光标也不会改变。我不确定QWidget是否在这里失去了重点。所以,我尝试在鼠标按下事件中设置焦点。但没有多大帮助。任何有关克服这个问题的建议。
谢谢!
答案 0 :(得分:0)
我想问题可能是事件没有传递给父窗口小部件。 只需在mouseReleaseEvent()
中添加以下语句即可QGLWidget来绘图:: mouseReleaseEvent(事件);