2013-09-04 6 views
1

Когда я скрываю() в своем окне, он скрывается, но с иконкой панели задач. Я хочу пропустить скрытый значок в трее, чтобы восстановить его, щелкнув по нему. Является ли это возможным? Я не хочу использовать минимизацию.Как НЕ скрывать элемент панели задач во время использования hide()

пользовательская кнопка -> окно скрывается, но у него есть значки на панели задач (и, возможно, на systray), и теперь он может восстановить его, нажав на элемент панели задач (или, возможно, значок в трее). Я знаю, как сделать это, работая с trayicon, но не могу понять, как остановить сокрытие элемента панели задач, и все, что я нахожу, это «Как скрыть элемент панели задач?».

благодаря

+0

почему лет u down wnat использовать showMinimized? Он работает актуально, как вы описали. –

+0

сведено к минимуму, чтобы что-то случилось с событием, добавленным AddFilterEvents. После того, как я сделаю -> show(), никто не работает. Я пробовал много способов – kajojeq

ответ

0

я нашел решение: Может быть, кто-то будет нужно это когда-нибудь в проблемах с восстановлением из минимизации с использованием бескаркасного окна

void MainWindow::changeEvent(QEvent* e) 
{ 

    if(e->type() == QEvent::WindowStateChange) 
    { 
    if(this->windowState() & Qt::WindowMinimized) 
    { 
     //do something after minimize 
    } 
    else 
    { 
     setWindowFlags(Qt::Window); //show normal window 
     setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint); 
    //and again frameless. somethign like refreshing frameless windows after minimize 
     this->showNormal(); 
    } 
    } 
} 
0

ShowMinimised() делает именно то, что ваш просьбой

однако, если это не работает из-за какой-либо функции вы переопределены затем предоставить образец кода, пожалуйста,

+0

Да, я знаю. Проблема заключается в том, что окно обрамляет Qt :: FramelessWindowHint, без этого все выглядит нормально, но с этим после восстановления окна из минимума у ​​меня возникают проблемы с действиями в приложении. Справка 1. Я найду причину, по которой он не может правильно восстановить Справка 2. Я могу сделать это с помощью HIDE(), но я не могу потерять значок панели задач (главный вопрос) Спасибо за помощь! – kajojeq