У меня есть приложение Qt C ++ с некоторым значком на панели задач по умолчанию.При запуске приложения новый значок панели задач будет загружен динамически и должен быть установлен как значок панели задач.
Я устанавливаю значок панели задач, который выглядит примерно так:
void MainWindow::setIcon)
{
// some other code
QTemporaryFile tempFile;
QFile iconTemp(tempFile.fileName() + "TaskbarIcon");
if(iconTemp.open(QFile::WriteOnly))
{
iconTemp.write(data); // data is the new image for taskbar icon in bytes
iconTemp.close();
}
setWindowIcon(QIcon(iconTemp.fileName()));
iconTemp.remove();
// some more code
}
Также обратите внимание, что в случае любой ошибки значок по умолчанию устанавливается следующим образом:
setWindowIcon(QIcon(":/Images/my_default_icon.ico"));
Теперь, когда я устанавливаю приложение Qt без каких-либо ярлыков приложения и запускаю приложение напрямую с помощью EXE, затемзначок новой панели задач отображается правильно.
Но, если я устанавливаю приложение Qt с помощью ярлыков (например, ярлык на рабочем столе или меню Пуск), а затем запускаю приложение через EXE или любой из его ярлыков,значок новой панели задач не отображается.Вместо этого отображается значок панели задач по умолчанию.Теперь, если я щелкну правой кнопкой мыши значок панели задач и один раз закреплю / откреплю, значок новой панели задач отображается правильно.
Может кто-нибудь помочь, как решить эту проблему?
Примечание. ДинамическоеЗначок на панели задач - это не файл .ICO, а файл png или jpg.