2011-01-24 2 views
0

Я добавил виджет в виде метки (изображения или значка) в главное окно QT. Мне нужно отобразить всплывающее меню после щелчка (левый или правый щелчок) на ярлыке. Пожалуйста,Всплывающее меню в QT

+1

Возможный дубликат [всплывающее меню в QT] (http://stackoverflow.com/questions/4778961/pop-up-menu-in-qt) –

ответ

2

повторно реализуйте mousePressEvent

void YourWidget::mousePressEvent(QMouseEvent *event) 
{ 
    QMenu menu(this); 
    QAction *action = menu.addAction("action"); 
    if (menu.exec(event->pos()) == action) { 
     QMessageBox::information(this, "Next time I promise to google for the answers before asking"); 
    } 
} 

вы также можете использовать фильтры событий для обработки щелчка мыши события из виджетов, которые вы не проистекают из, т.е. если у вас есть Q простой QLabel, и вы хотите добавить контекстное меню Это. Читайте в помощнике около QObject::installEventFilter