如何使用QGLWidget显示弹出菜单?

时间:2010-04-13 18:53:49

标签: qt opengl qglwidget

在QGLWidget中右键单击时如何显示上下文菜单?

1 个答案:

答案 0 :(得分:1)

重写QGLWidget类和mouseReleaseEvent(QMouseEvent * event)函数。然后在mouseReleaseEvent函数中,使用映射的全局位置调用QMenu exec()。

void MyWidget::mouseReleaseEvent ( QMouseEvent * event )
{
    if(event->button() == Qt::RightButton)
    {
        QMenu menu;

        QAction* openAct = new QAction("Open...", this);

        menu.addAction(openAct);

        menu.addSeparator();
        menu.exec(mapToGlobal(event->pos()));
    }
    QGLWidget::mouseReleaseEvent(event);  //Dont forget to pass on the event to parent
}