Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: alex-v от Сентябрь 10, 2011, 10:32



Название: Иконка в панели задач
Отправлено: alex-v от Сентябрь 10, 2011, 10:32
Собственно как её изменять программно в ходе работы проги?
Пробовал через mainWindow->setWindowIcon()
и иконка меняется, но с условием если ехе-файл проги находится где-нибудь в другом месте диска. А если прога находится в C:\Program Files то иконка не меняется. Почему?
У меня windows7.

(http://s46.radikal.ru/i113/1109/82/f25c28278d48.jpg)


Название: Re: Иконка в панели задач
Отправлено: LisandreL от Сентябрь 10, 2011, 14:03
Иконки из файлов читаете или из ресурсов?
Учётка с правами пользователя или администратора?
В самом окне иконка меняется?


Название: Re: Иконка в панели задач
Отправлено: alex-v от Сентябрь 10, 2011, 14:07
Иконки из файлов читаете или из ресурсов?
Учётка с правами пользователя или администратора?
В самом окне иконка меняется?

иконку читаю из ресурсов.
права админа.


Название: Re: Иконка в панели задач
Отправлено: lesav от Сентябрь 10, 2011, 14:49
Файл myrc.rc
Код:
1 ICON DISCARDABLE     "img/myico.ico"

Фрагмент myProject.pro
Код:
win32 {
  RC_FILE     += myrc.rc
  OTHER_FILES += myrc.rc
}

Фрагмент main.cpp
Код
C
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   ......
   a.setWindowIcon(QIcon(":/rs/img/myico.png"));
   .....
   return a.exec();
}



Название: Re: Иконка в панели задач
Отправлено: alex-v от Сентябрь 10, 2011, 15:34
заметил странную особенностть, что если ехе находится в program files , то  QApplication::setWindowIcon  срабатывает только один раз. А второй раз иконка не меняется. 
(в проге мне нужно постоянно менять эту иконку многократно)


Название: Re: Иконка в панели задач
Отправлено: alex-v от Сентябрь 10, 2011, 17:10
...может там что-то кешируется...?


Название: Re: Иконка в панели задач
Отправлено: serega-5508 от Сентябрь 10, 2011, 19:06
не знаю, что там у тебя не работает, проверил, всё работает.
(http://7.jpg)
Код:
a.setWindowIcon(QIcon(":/rs/img/myico.png"));
вот это только я не делал.


Название: Re: Иконка в панели задач
Отправлено: serega-5508 от Сентябрь 10, 2011, 19:07
забыл добавить, что на картинке изобразил зелёный круг с белым крестиком внутри! :)


Название: Re: Иконка в панели задач
Отправлено: alex-v от Сентябрь 10, 2011, 20:33
не знаю, что там у тебя не работает, проверил, всё работает.
(http://7.jpg)
Код:
a.setWindowIcon(QIcon(":/rs/img/myico.png"));
вот это только я не делал.

т.е. иконка в панели задач меняется многократно у вас во время работы программы? Можно исходники вашего тестового проекта?
Спасибо.


Название: Re: Иконка в панели задач
Отправлено: serega-5508 от Сентябрь 11, 2011, 11:58
Цитировать
т.е. иконка в панели задач меняется многократно у вас во время работы программы?
что значит меняется многократно????
какую я иконку поставил, такая и будет стоять. И ничего у меня она уже не меняется.


Название: Re: Иконка в панели задач
Отправлено: alex-v от Сентябрь 11, 2011, 12:04
Цитировать
т.е. иконка в панели задач меняется многократно у вас во время работы программы?
что значит меняется многократно????
какую я иконку поставил, такая и будет стоять. И ничего у меня она уже не меняется.
понятно,наверно не было прочитано моё сообщение выше. Я писал, что мне надо её менять многократно, но она меняется только один раз.