Название: Как загрузиться в трей Отправлено: Jkc от Март 08, 2005, 08:51 У меня такая задача, нужно написать программу на C++ с использованием Qt библиотеки.
Что касается окон и элементов то проблем нет но мне нужно ещё что бы при запуске программка пряталась в Трей Вопрос как всё это сделать на Qt на систему Win32? Если кто то сталкивался дайте знать. Буду очень благодарен за пример с кодом. Название: Как загрузиться в трей Отправлено: Admin от Март 08, 2005, 09:48 в examples поставляемых вместе с QT есть пример использования tray под windows
смотри и пользуй Название: Как загрузиться в трей Отправлено: Jkc от Март 09, 2005, 07:28 Цитата: "Admin" в examples поставляемых вместе с QT есть пример использования tray под windows смотри и пользуй В этом примере просто создаёться трей трёх видов но там нет запуска приложения в трей, так же нет сворачивания окна в трей. Название: Как загрузиться в трей Отправлено: mikl2002 от Март 09, 2005, 08:51 menu = new QPopupMenu();
menu->insertItem( tr("Hide"), form1, SLOT(hide()) ); menu->insertItem( tr("Show"),form1, SLOT(show()) ); menu->insertSeparator(); menu->insertItem( tr("&Quit"), form1, SLOT(close()) ); tray = new TrayIcon( QPixmap::fromMimeSource( "tray.png" ), tr("SSB - Boss"), menu); QObject::connect(tray,SIGNAL(clicked(const QPoint&)),this,SLOT(hideshow())); tray->show(); Название: Как загрузиться в трей Отправлено: GrolfCry от Март 09, 2005, 14:33 Что нужно подробнее, в примерах и так достаточно хорошо все описано...
Берем файлы trayicon.cpp trayicon.h trayicon_win.cpp из примеров -ложим в каталог проекта. В файле проекта добавляем примерно это Код:
картинка для трея должна лежать в папке images В main.cpp добавляем в начало файла Код:
дальше выглядит примерно так Код:
Название: Как загрузиться в трей Отправлено: Jkc от Март 16, 2005, 08:45 А как стартонуть что бы сразу в трей?
Название: Как загрузиться в трей Отправлено: GrolfCry от Март 16, 2005, 08:56 Вот это не делай
mf->show(); Название: Как загрузиться в трей Отправлено: Jkc от Март 16, 2005, 11:02 Так просто в трей не грузиться иконка
Название: Как загрузиться в трей Отправлено: GrolfCry от Март 16, 2005, 11:25 ну тогда
после mf->show(); сделай mf->hide(); Название: Как загрузиться в трей Отправлено: Jkc от Март 16, 2005, 11:59 Работает и последний штрих на эту тему, как по двойному щелчку мыши на иконке вызвать программу?
Название: Как загрузиться в трей Отправлено: GrolfCry от Март 16, 2005, 13:52 по щелчку - добавь строку
QObject::connect(tray,SIGNAL(clicked(const QPoint&)),this,SLOT(mf->show())); по двойному типа того наверное Название: Как загрузиться в трей Отправлено: Jkc от Март 16, 2005, 16:48 Есть ещё небольшой вопрос, как из QListView загрузить контектное меню?
Название: Как загрузиться в трей Отправлено: GrolfCry от Март 17, 2005, 06:25 Не очень понятен вопрос, да и не по теме. Создай новый топик
Название: Как загрузиться в трей Отправлено: Jkc от Март 18, 2005, 13:07 Можно показать как добавить двойной щелчёк на иконку в трее?
Название: Как загрузиться в трей Отправлено: homa9999 от Июль 28, 2005, 02:04 А в Linux работает этот код?
Название: Как загрузиться в трей Отправлено: Sergeich от Июль 28, 2005, 16:27 Нет, конечно, это только для винды
Название: Как загрузиться в трей Отправлено: Turing от Июль 08, 2006, 21:37 У меня qt4.1.3 + DevCpp. При сборке проекта выскакивает ошибка:
release\trayicon_win.o(.text+0x517):0: undefined reference to 'CreateBitmap@4' release\trayicon_win.o(.text+0x5b9):trayicon_win.cpp: undefined reference to 'DeleteObject@4' ... Это WinApi функции. Но ведь при сборке модуля QtGui используются данные функции. И в <wingdi.h> есть их прототипы. Включение прототипов этих функций в "trayicon_win.cpp" ничего не дает. Может кто встречался с данной ситуацией?! добавлено спустя 59 минут: Проблема решена LIBS = -lgdi32 -luser32 Название: Как загрузиться в трей Отправлено: Красаффчег от Июль 11, 2006, 20:08 Признавайтесь!!! У кого в win2k sp4, контекстное меню TrayIcon отображается поверх панели задач, т.е. не в точке где происходит клик левой кнопкой мыши а несколько выше. И кроме этого, у кого иконки загруженные в TrayIcon в формате *.png отображаются в очень тусклых серых тонах???
Напрасно надеялся что в QSystemTrayIcon в версии 4.2 это исправят, аналогичные баги. Думаю стоит сообщить об этом троллтеховцам. |