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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Меню в QSystemTrayIcon  (Прочитано 3842 раз)
ruzik
Гость
« : Апрель 03, 2012, 20:21 »

Здравствуйте, у меня есть QSystemTrayIcon и такой код:
Код
C++ (Qt)
//--System tray icon
connect(systemTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason))
, this, SLOT(createPopupSystemTrayIconMenuAndConnectIt(QSystemTrayIcon::ActivationReason)));
Код
C++ (Qt)
void RizekFaster::createPopupSystemTrayIconMenuAndConnectIt(QSystemTrayIcon::ActivationReason reason)
{
if (reason != QSystemTrayIcon::Context)
return;
 
delete popupSystemTrayMenu;
       popupSystemTrayMenu = new QMenu(this);
 
/*Create actions of menu*/
 
systemTrayIcon->setContextMenu(popupSystemTrayMenu);
}
Но прикол в том, что само меню теперь не открывается, а если преписать это в конец:
popupSystemTrayMenu->show();
То меню будет вызываться в середине экрана, как можно это исправить
Заранее спасибо!
« Последнее редактирование: Апрель 03, 2012, 20:35 от ruzik » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Апрель 03, 2012, 20:24 »

что-то я в код не въехал.
Ты для начала пришиб контекстное меню, а потом его пытаешься использовать?
Записан

Юра.
ruzik
Гость
« Ответ #2 : Апрель 03, 2012, 20:36 »

Сильно сократил код, смотрите новую версию, после удаления меню создается новое
Записан
mutineer
Гость
« Ответ #3 : Апрель 03, 2012, 20:40 »

А зачем ты это все делаешь? сделал один раз setContextMenu и оно само должно при кликах появляться
Записан
ruzik
Гость
« Ответ #4 : Апрель 03, 2012, 20:46 »

У меня меню должно быть каждый раз разное, так как его содержимое зависит от содержимого модели используемой в программе, по этому при каждом клике и приходиться создавать новое меню
Записан
mutineer
Гость
« Ответ #5 : Апрель 03, 2012, 20:48 »

Но появится оно все равно только при следующем клике. Но при следующем клике ты его убиваешь...
А может изменять меню, когда данные в модели меняются?
Записан
ruzik
Гость
« Ответ #6 : Апрель 03, 2012, 20:58 »

Понятно, буду пытаться сделать по-другому
Спасибо за помощь!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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