crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Создание контекстного меню
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 15.7.2008, 17:38
 
Цитата(AD @ 15.7.2008, 14:09) *
Но мне в это контекстное меню есть желание поместить то, что не отображено на панели меню

В панели меню сгрупированы QAction'ы, суй эти же объекты в лбое другое меню
void* Дата 15.7.2008, 10:14
 
Цитата(AD @ 15.7.2008, 10:09) *
Но мне в это контекстное меню есть желание поместить то, что не отображено на панели меню. Такое возможно?

а почему нет? ты можешь использовать любой объект QMenu, не обязательно тот, что на панели
по сути в обработчике события мы только запускаем меню в нужной точке (повторяю - меню может быть абсолютно любым)
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, 9:42
  делается все очень просто: создаешь в своем виджете QMenu с нужными QAction'ами, затем обрабатываешь событие contextMenuEvent:
public:
            QMenu *menu;
protected:
            virtual void contextMenuEvent(QContextMenuEvent *event) {
                                      menu->exec(event->globalPos());
            }
AD Дата 15.7.2008, 9:38
  Не могу найти класс создания контекстного меню. Подскажите, пожалуйста

[attachment=131:context_menu.JPG]

P.S. Блин, почему картинку 18Кб загрузить не может???
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 5.12.2021, 4:32