crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QT 4.3.0 не найден файл QSystemTrayIcon, fatal error C1083: Cannot open include file: 'QSystemTrayIcon'
Cergey
  опции профиля:
сообщение 1.10.2009, 15:43
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 62
Регистрация: 18.10.2008
Пользователь №: 395

Спасибо сказали: 3 раз(а)




Репутация:   1  


Хотел я иконку в трей засунуть, а он мне не находить #include <QSystemTrayIcon>.
Версия QT 4.3.0.
Работаю с ним 1.5 лет проблем не было.
По поиску в папке QT файл нашел.
Помогите кто чем может!!!

Стати, а как консольную программу скрыть, как будто она в трей свернулась???
Метода hide или vision в QCoreApplication не нашел!!!

Стати работаю на Студии 2005.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Cergey
  опции профиля:
сообщение 2.10.2009, 9:29
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 62
Регистрация: 18.10.2008
Пользователь №: 395

Спасибо сказали: 3 раз(а)




Репутация:   1  


CODE
// Класс, для помещения сервера в системный трей
class ServerSystemTray : public QSystemTrayIcon
{
Q_OBJECT

public:
ServerSystemTray(QCoreApplication & a);

public slots:
void visualServer(QSystemTrayIcon::ActivationReason reason); // Обработка нажатия по трею

private:
QCoreApplication *server; // Указатель на сервер
bool vSer; // Флаг определяющий показан ли сервер (true - показан, false - спрятан)
};


ServerSystemTray::ServerSystemTray(QCoreApplication & a)
: QSystemTrayIcon()
{
// Соединяем сигнал нажатия по иконки сервера в трее и его обработчик
connect(this, SIGNAL(activated (QSystemTrayIcon::ActivationReason )), this, SLOT(visualServer(QSystemTrayIcon::ActivationReason reason )));

// Обозначаем, что сервер показан
vSer = true;

// Сохраняем ссылку на сервер
server = &a;

setIcon(QIcon("icon.bmp"));

// Показываем иконку сервера в трее
show ();
}

/*
* Функция-обработчик нажатия по иконки в трее
* \param reason причина нажатия
*/
void ServerSystemTray::visualServer(QSystemTrayIcon::ActivationReason reason)
{
// Если нажатие по иконке произошло левой кнопкой мышы один раз
if(reason == QSystemTrayIcon::Trigger)
{
// Если сервер был показан
if(vSer == true)
{
// То прячем его

// Обозначаем что сервер скрыт
vSer = false;
}
else // Если сервер был скрыт
{
// То показываем его

// Обозначаем что сервер показан
vSer = true;
}
}
}


Вылет на setIcon() но наверное из-за консоли ах :mellow:

Добавление:
В main создаю объект этого класса.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 2.10.2009, 9:29
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Если начал работать с GUI, то нужно использовать QApplication, а не QCoreApplication.
Как ты планируешь консоль скрывать/показывать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Cergey   QT 4.3.0 не найден файл QSystemTrayIcon   1.10.2009, 15:43
- - BRE   Цитата(Cergey @ 1.10.2009, 16:43) Хотел я...   1.10.2009, 16:06
- - Litkevich Yuriy   Цитата(BRE @ 1.10.2009, 20:06) Т.е. в pro...   1.10.2009, 17:00
|- - BRE   Цитата(Litkevich Yuriy @ 1.10.2009, 18:00...   1.10.2009, 17:07
- - Litkevich Yuriy   Да, логично, коль уж о консольной программе речь и...   1.10.2009, 17:13
- - Cergey   Создал в студии 2005 базисный pro файл, там замени...   2.10.2009, 8:43
|- - BRE   Цитата(Cergey @ 2.10.2009, 9:41) Создал в...   2.10.2009, 8:47
- - ViGOur   В студии нужно в настройки проекта прописать QtGui...   2.10.2009, 8:50
- - Cergey   ViGOur, спасибо нашел в properties проекта->c/c...   2.10.2009, 9:02
|- - BRE   Цитата(Cergey @ 2.10.2009, 10:02) В gui п...   2.10.2009, 9:07
- - ViGOur   свойства проекта -> linker -> general -> ...   2.10.2009, 9:09
- - Cergey   Цитата(BRE @ 2.10.2009, 10:07) Поясни, чт...   2.10.2009, 9:17
|- - BRE   Цитата(Cergey @ 2.10.2009, 10:10) В общем...   2.10.2009, 9:20
- - Cergey   CODE// Класс, для помещения сервера в системный тр...   2.10.2009, 9:29
|- - BRE   Если начал работать с GUI, то нужно использовать Q...   2.10.2009, 9:29
- - Cergey   Цитата(BRE @ 2.10.2009, 10:29) Как ты пла...   2.10.2009, 9:36
- - ViGOur   Можно сделать как предложил BRE, а можно использов...   2.10.2009, 9:54
|- - BRE   Цитата(ViGOur @ 2.10.2009, 10:54) А куда ...   2.10.2009, 9:55
- - ViGOur   Цитата(Cergey @ 2.10.2009, 10:36) P. S. Е...   2.10.2009, 9:59


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


15 чел. читают эту тему (гостей: 15, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.1.2025, 21:36