Автор: AD 15.7.2008, 9:38
Не могу найти класс создания контекстного меню. Подскажите, пожалуйста
[attachment=131:context_menu.JPG]
P.S. Блин, почему картинку 18Кб загрузить не может???
Автор: void* 15.7.2008, 9:42
делается все очень просто: создаешь в своем виджете QMenu с нужными QAction'ами, затем обрабатываешь событие contextMenuEvent:
public:
QMenu *menu;
protected:
virtual void contextMenuEvent(QContextMenuEvent *event) {
menu->exec(event->globalPos());
}
Автор: AD 15.7.2008, 10:09
Цитата(void* @ 15.7.2008, 10:42)
делается все очень просто: создаешь в своем виджете QMenu с нужными QAction'ами, затем обрабатываешь событие contextMenuEvent:
public:
QMenu *menu;
protected:
virtual void contextMenuEvent(QContextMenuEvent *event) {
menu->exec(event->globalPos());
}
Неплохо, спасибо. Но мне в это контекстное меню есть желание поместить то, что не отображено на панели меню. Такое возможно? По идее, для этого следует создать QMenu* myMenu, для него набор QAction* myActions[5], а потом запустить это меню в этой функции. Правильно я понял? Так, получается, надо сделать?
Автор: void* 15.7.2008, 10:14
Цитата(AD @ 15.7.2008, 10:09)
Но мне в это контекстное меню есть желание поместить то, что не отображено на панели меню. Такое возможно?
а почему нет? ты можешь использовать любой объект QMenu, не обязательно тот, что на панели
по сути в обработчике события мы только запускаем меню в нужной точке (повторяю - меню может быть абсолютно любым)
Автор: Litkevich Yuriy 15.7.2008, 17:38
Цитата(AD @ 15.7.2008, 14:09)
Но мне в это контекстное меню есть желание поместить то, что не отображено на панели меню
В панели меню сгрупированы QAction'ы, суй эти же объекты в лбое другое меню