Russian Qt Forum
Сентябрь 30, 2024, 12:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Иконка в панели задач  (Прочитано 7579 раз)
alex-v
Гость
« : Сентябрь 10, 2011, 10:32 »

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

Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Сентябрь 10, 2011, 14:03 »

Иконки из файлов читаете или из ресурсов?
Учётка с правами пользователя или администратора?
В самом окне иконка меняется?
« Последнее редактирование: Сентябрь 10, 2011, 14:06 от LisandreL » Записан
alex-v
Гость
« Ответ #2 : Сентябрь 10, 2011, 14:07 »

Иконки из файлов читаете или из ресурсов?
Учётка с правами пользователя или администратора?
В самом окне иконка меняется?

иконку читаю из ресурсов.
права админа.
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #3 : Сентябрь 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();
}

Записан

alex-v
Гость
« Ответ #4 : Сентябрь 10, 2011, 15:34 »

заметил странную особенностть, что если ехе находится в program files , то  QApplication::setWindowIcon  срабатывает только один раз. А второй раз иконка не меняется. 
(в проге мне нужно постоянно менять эту иконку многократно)
Записан
alex-v
Гость
« Ответ #5 : Сентябрь 10, 2011, 17:10 »

...может там что-то кешируется...?
Записан
serega-5508
Гость
« Ответ #6 : Сентябрь 10, 2011, 19:06 »

не знаю, что там у тебя не работает, проверил, всё работает.

Код:
a.setWindowIcon(QIcon(":/rs/img/myico.png"));
вот это только я не делал.
Записан
serega-5508
Гость
« Ответ #7 : Сентябрь 10, 2011, 19:07 »

забыл добавить, что на картинке изобразил зелёный круг с белым крестиком внутри! Улыбающийся
Записан
alex-v
Гость
« Ответ #8 : Сентябрь 10, 2011, 20:33 »

не знаю, что там у тебя не работает, проверил, всё работает.

Код:
a.setWindowIcon(QIcon(":/rs/img/myico.png"));
вот это только я не делал.

т.е. иконка в панели задач меняется многократно у вас во время работы программы? Можно исходники вашего тестового проекта?
Спасибо.
Записан
serega-5508
Гость
« Ответ #9 : Сентябрь 11, 2011, 11:58 »

Цитировать
т.е. иконка в панели задач меняется многократно у вас во время работы программы?
что значит меняется многократно?Непонимающий
какую я иконку поставил, такая и будет стоять. И ничего у меня она уже не меняется.
Записан
alex-v
Гость
« Ответ #10 : Сентябрь 11, 2011, 12:04 »

Цитировать
т.е. иконка в панели задач меняется многократно у вас во время работы программы?
что значит меняется многократно?Непонимающий
какую я иконку поставил, такая и будет стоять. И ничего у меня она уже не меняется.
понятно,наверно не было прочитано моё сообщение выше. Я писал, что мне надо её менять многократно, но она меняется только один раз.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.154 секунд. Запросов: 23.