2010-04-13 2 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 
} 
Смежные вопросы