crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 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 Рейтинг@Mail.ru Текстовая версия Сейчас: 4.7.2025, 23:10