0
Я добавил виджет в виде метки (изображения или значка) в главное окно QT. Мне нужно отобразить всплывающее меню после щелчка (левый или правый щелчок) на ярлыке. Пожалуйста,Всплывающее меню в QT
Я добавил виджет в виде метки (изображения или значка) в главное окно QT. Мне нужно отобразить всплывающее меню после щелчка (левый или правый щелчок) на ярлыке. Пожалуйста,Всплывающее меню в QT
повторно реализуйте 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
Возможный дубликат [всплывающее меню в QT] (http://stackoverflow.com/questions/4778961/pop-up-menu-in-qt) –