2013-09-03 2 views
0

Когда я добавляю всплывающее меню в Qt следующим образом:Всплывающие контроль событий меню в Qt

QMenu menu(widget); 
menu.addAction("AAA"); 
menu.exec(eventPress->globalPos()); 

Как я могу контролировать события действия «AAA». например сделайте что-нибудь, когда нажата кнопка «AAA».

ответ

1

Вы можете перегрузить addAction.

С Qt помощник
Это удобство функция создает новое действие с текстом и текстом необязательный ярлык быстрого доступа. Сигналом срабатывания() является , подключенный к слоту участника приемника. Функция добавляет новое созданное действие в список действий меню и возвращает его.

MyClass::Popup() 
{ 
QMenu menu(widget); 
menu.addAction("AAA", this, SLOT(burnCase())); 
menu.exec(eventPress->globalPos()); 
} 

// This is your slot 
MyClass::burnCase() 
{ 

} 
+0

Спасибо за ответ. Можете ли вы также сказать, как открыть суб-действие, когда нажата кнопка «AAA»? – Mike

+0

QAction * a = menu.addAction («AAA», ...); a-> setMenu (ваше подменю), проверьте следующую ссылку. http://stackoverflow.com/questions/2781198/how-to-add-menu-dynamically-in-qt – Ashif

+0

Большое спасибо. – Mike

Смежные вопросы