2010-04-13 89 views

回答

1

覆盖QGLWidget类和mouseReleaseEvent(QMouseEvent *事件)函数
然后在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 
}