Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Sahab от Март 21, 2011, 18:55



Название: QSystemTrayIcon QMenu::exec() не исчезает при потере фокуса
Отправлено: Sahab от Март 21, 2011, 18:55
При потере фокуса контекстного меню QSystemTrayIcon и получении фокуса любого из Виджетов меню исчезает. Но если ни один из виджетов приложения фокус не получает то менюшка продолжает "висеть".
Как от этого избавиться?


Название: Re: QSystemTrayIcon QMenu::exec() не исчезает при потере фокуса
Отправлено: ernie от Март 22, 2011, 05:12
Сделать слот соединённый с сигналом activated (у trayIcon) ,такого вида :

void TrayIcon::trayEvent(QSystemTrayIcon::ActivationReason reason)
{
    switch (reason) {
    case QSystemTrayIcon::Context:
        trayMenu->activateWindow();
        break;
    default:
        ;
    }
}

trayMenu - меню которое ты показываешь


Название: [РЕШЕНО]Re: QSystemTrayIcon QMenu::exec() не исчезает при потере фокуса
Отправлено: Sahab от Март 22, 2011, 11:13
2ernie спс...
аж стыдно... куча activateWindow в коде... но меня почему-то на popup() потянуло...