在QGLWidget中右键单击时如何显示上下文菜单?
答案 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
}