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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSystemTray, не исчезает меню  (Прочитано 3419 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Февраль 02, 2011, 09:16 »

Если честно не знаю это фича или баг или я что то не доделал (что скорее всего), создал систем трей, он открывается хоршо, все отрабатывает замечательно, но если я открыл меню в тее и не выбрал ни одного пункта, при этом кликнул в любом месте на рабочем столе, по идее меню должно исчезнуть, в оно не проподает, такую же тему заметил и в примерах qt/examples/desktop/systray/ .

OS Windows 7, Qt 4.7.1 , MinGW GCC 4.5.0 . Под линуксом такая же тема пробовал на Linux Mint, gcc 4.5.0, Qt 4.7.1
Записан
SABROG
Гость
« Ответ #1 : Февраль 02, 2011, 11:32 »

Есть такое дело. Проблема в том, что система сообщений прячет меню только в том случае, если сигнал от мышки или клавиатуры приходит на родительский виджет. В примерах Qt есть такая строка:

Код:
void Window::createTrayIcon()
{
    trayIconMenu = new QMenu(this);

Таким образом, если кликнуть на основное окно программы, то меню исчезает. Лечится убиранием указателя this, в результате родителем QMenu становится окно рабочего стола.
Записан
Etud
Гость
« Ответ #2 : Февраль 02, 2011, 11:40 »

если я открыл меню в тее и не выбрал ни одного пункта, при этом кликнул в любом месте на рабочем столе, по идее меню должно исчезнуть...

У меня пропадает.
Qt 4.5.3, Windows XP, VS 2008

У меня так:
Код
C++ (Qt)
trayMenu = new QMenu(this);  
trayMenu->addAction(showAction);
 

Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #3 : Февраль 02, 2011, 11:48 »

SABROG, спасибо

Код:
     tryMenu = new QMenu(0);

вот так заработало вообще отлично.
Записан
Sanya
Гость
« Ответ #4 : Февраль 02, 2011, 14:18 »

Спасибо!
У самого не наблюдалось, но некоторые жаловались на подобное поведение.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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