Название: Как по нажатию на [x] прятаться в трей ? Отправлено: Jkc от Апрель 05, 2005, 12:18 Как по нажатию на
Код
При старте программа загружаеться в трей по двойному щелчку раскрываеться. Как сделать что бы по нажатию на крестик (тот что обычно служит для закрытия окна) что бы программа опять сворачивалась в трей? Название: Как по нажатию на [x] прятаться в трей ? Отправлено: Sergeich от Апрель 05, 2005, 12:31 Примерно так:
Код:
И убери app.setMainWidget(mf), иначе при зактрытии окна завершиться приложение. Название: Как по нажатию на [x] прятаться в трей ? Отправлено: Jkc от Апрель 05, 2005, 19:27 Строку убрал терерь при клике на крестик окно сворачиваеться в трей. А вот закрыть приложение из контекстного меню стало невозможно.
И ещё, куда вставлять эти записи ? Form1::closeEvent(QCloseEvent * e) { tray->show(); } Form1::showEvent(QShowEvent * e) { tray->hide(); } Название: Как по нажатию на [x] прятаться в трей ? Отправлено: tmaxim от Декабрь 23, 2005, 14:34 А как сделать чтобы при разворачивании окна оно не появлялось в тулбаре?
Название: Как по нажатию на [x] прятаться в трей ? Отправлено: Anton от Март 20, 2006, 07:57 А что за компонент/класс Tray Icon и где его взять?
Название: Как по нажатию на [x] прятаться в трей ? Отправлено: Dendy от Март 20, 2006, 10:19 ЗакрьІть приложение - не то же самое, что закрьІть окно. Теперь механизм закрьІтия проги нужно делать отдельно, например, в главном меню или меню трея.
closeEvent() - виртуальньІй метод QWidget, через которьІй приходит собьІтие закрьІтия окна. ЧтобьІ окно не появлялось в тулбаре - ему нужно установить родителем другое окно, при етом оставив top-level: Код: int main( int argv, char ** argv ) Снятие флага quitOnLastWindowClosed необходимо, чтобьІ при первом же закрьІтии окна приложение не вьІшло из главного цикла. Если его при етом не прятать в трей аль не делать ещё какие механизмьІ повторного открьІтия - закрьІть приложение без окна сможете тогода разве что из диспечера задач. TrayIcon - класс Джастина Карнегеса, автора жабер-клиента Psi. Взять можно из исходников Psi отсюда: http://psi-im.org Название: Re: Как по нажатию на [x] прятаться в трей ? Отправлено: Racheengel от Ноябрь 19, 2008, 12:19 А как сделать чтобы при разворачивании окна оно не появлялось в тулбаре? setWindowFlags(windowFlags() | Qt::Tools); должно помочь Название: Re: Как по нажатию на [x] прятаться в трей ? Отправлено: lit-uriy от Ноябрь 19, 2008, 13:38 судя по дате начала темы, наверно вопрос уже не актуальный.
В Qt4.3.2 есть такой пример %QTDIR%\examples\desktop\systray Название: Re: Как по нажатию на [x] прятаться в трей ? Отправлено: Racheengel от Ноябрь 19, 2008, 13:52 Для топикстартера наверное не актуальный уже :)
Однако я буквально вчера с такой задачей столкнулся, тоже надо сделать подобное - спрятаться в трей, не отображаясь на таскбаре... Может стоит подобные вопрос в фак/вику закинуть? А то тем миллион уже :) Название: Re: Как по нажатию на [x] прятаться в трей ? Отправлено: lit-uriy от Ноябрь 19, 2008, 18:01 на этот вопрос ответ один - смотрите примеры.
Название: Re: Как по нажатию на [x] прятаться в трей ? Отправлено: Пантер от Ноябрь 19, 2008, 20:13 Ппц. Я офигиваю. Вот только трону какую-нибудь проблему - сразу она всплывает на этом форуме. Как любят говорить на ЛОРе, работает libastral.so. ;D
Я решил так: Код У меня иконка в трэе постоянно висит и мне нужно только скрывать главное окно. isClose объявляю как bool, при криэйте делаю ее false. Еще есть слот Код На этот слот конекчу акшн. Решение плохое, но действует. :) |