Russian Qt Forum
Ноябрь 24, 2024, 13:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как перекрыть в главном меню появление всплывающего меню?  (Прочитано 3399 раз)
Germiona
Гость
« : Май 19, 2008, 11:53 »

Главное меню состоит из всплывающих окон,но одно из них не содержит в себе никаких элементов и при его активации сразу должно происходить событие. Как это сделать и как избавиться от всплывающего пустого "хвостика" QPopup-меню?

Если использовать фильтры,то какое значение имеет e->type() при выборе команды меню?
« Последнее редактирование: Май 19, 2008, 12:44 от Germiona » Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Май 19, 2008, 14:01 »

Главное меню состоит из всплывающих окон,но одно из них не содержит в себе никаких элементов и при его активации сразу должно происходить событие. Как это сделать и как избавиться от всплывающего пустого "хвостика" QPopup-меню?

Если использовать фильтры,то какое значение имеет e->type() при выборе команды меню?

Ну, например, так:
QMenu * menu; 
//menu - меню по которому кликаеш и оно не имеет подменю, как требуется

QAction * act = menu->menuAction ();
connect( act, SIGNAL(triggered()), this, SLOT(slot_act()));
Записан
Germiona
Гость
« Ответ #2 : Май 19, 2008, 14:22 »

Использую QT3, там нет таких функций  Грустный
Записан
Germiona
Гость
« Ответ #3 : Май 19, 2008, 15:15 »

Нашла такой способ:

Код:
QMenuBar  *menuBar = new QMenuBar(this);
int id = menuBar->insertItem( tr( "Exit" ));
menuBar->connectItem(id, this, SLOT(exit()));

В меню команда появилась,при клике слот отрабатывается.....но...если выбрать соседнюю команду в меню(появится всплывающее меню) и перевести мышь на команду "Exit",то произойдет тоже самое,что и при клике..... В замешательстве а мне нужно,чтобы слот отрабатывался только при клике мышкой на команду.
Как определить каким образом вызывается слот exit(): от клика мыши или просто от наведения курсора мышки при активном соседнем меню?   Непонимающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.