2011-01-24 82 views
0

我在QT主窗口中添加了一個小工具作爲標籤(圖像或圖標)。我需要在標籤上單擊(左鍵或右鍵單擊)後顯示彈出式菜單。請幫助QT中的彈出式菜單

+1

[QT中彈出菜單]的可能重複(http://stackoverflow.com/questions/4778961/pop-up-menu-in-qt) – 2011-01-24 10:51:47

回答

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