Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: BELNETMON от Апрель 17, 2009, 12:28



Название: (решено) QSystemTrayIcon: использование значка из главного окна
Отправлено: BELNETMON от Апрель 17, 2009, 12:28
Здравствуйте, коллеги!

Подскажите вопрос. Главное окно приложения, win, сворачивается в трей, то есть икнокой в трее владеет и управляет это окно. Есть сложность с тем, чтобы сам значок в трее назначить или из значка приложения, или из главного окна. Но что-то не выходит каменный цветок. При этом классические способы загрузить звонок из файла с картинкой, естественно, работают. Подскажите, в чем ошибка?

Код:
//создание иконки в трее
void classMainWindow::CreateTrayIcon()
...
trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(windowIcon());
...



Название: Re: QSystemTrayIcon: использование значка из главного окна
Отправлено: Rcus от Апрель 17, 2009, 13:14
глупый вопрос: а windowIcon установлена? :) И вообще, опишите симптомы.


Название: Re: QSystemTrayIcon: использование значка из главного окна
Отправлено: BELNETMON от Апрель 17, 2009, 13:39
глупый вопрос: а windowIcon установлена? :) И вообще, опишите симптомы.

Главное окно создается в дизайнере. В дизайнере же и назначается иконка окну (windowIcon).
Основной класс окна наследуется от  QMainWindow и от класса, рисуемого в дизайнере, все как обычно.

class classMainWindow : public QMainWindow, public Ui::fmMainClass

Иконка в окне рисуется. В приложении тоже есть иконка, она из ресурса грузится.
На момент создания значка в трее приложение уже загружено и окно отрисовано, с иконкой.


Название: Re: QSystemTrayIcon: использование значка из главного окна
Отправлено: Rcus от Апрель 17, 2009, 14:08
В порядке эксперимента добавил к конструктора главного окна строки
Код
C++ (Qt)
QSystemTrayIcon *trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(windowIcon());
trayIcon->show()
И смог наблюдать копию иконки в области уведомлений (систрей, ага :) (http://blogs.msdn.com/oldnewthing/archive/2003/09/10/54831.aspx))


Название: Re: QSystemTrayIcon: использование значка из главного окна
Отправлено: BELNETMON от Апрель 17, 2009, 14:12
Значит я неудачник, ибо такой же код почти самый.
А оконная форма как подключается, как множественное наследование или как экземпляр класса?


Название: Re: QSystemTrayIcon: использование значка из главного окна
Отправлено: Rcus от Апрель 17, 2009, 14:22
Как указатель на экземпляр сгенерированного класса с подключением в .cpp файле.


Название: Re: QSystemTrayIcon: использование значка из главного окна
Отправлено: BELNETMON от Апрель 17, 2009, 19:07
Вопрос снят, это у меня была дурь с ресурсами.
Все корректно работает :)