2015-08-03 2 views
0

Я использую Qt в Visual Studio, и мне нужно было установить значок в трее в приложении. Я использую следующий код:Qt и Visual Studio. Исчезновение значка лотка

QSystemTrayIcon trayIcon = new QSystemTrayIcon(this); 
QIcon trayImage(":/Res/myIcon.ico"); 
trayIcon->setIcon(trayImage); 
trayIcon->setContextMenu(trayIconMenu); 
trayIcon->show(); 

Мой QRC файл:

<RCC> 
    <qresource prefix="/"> 
     <file>Res/myIcon.ico</file> 
    </qresource> 
</RCC> 

И это сработало. Но когда я переместил приложение на другой компьютер, он потерпел неудачу с ошибкой «Это приложение не удалось запустить, потому что оно не могло найти или загрузить плагин« плагин платформы Qt ».». Я решил это, создав каталог «платформ» в каталоге с исполняемыми файлами и вставив в него qwindows.dll. Но после этого икона исчезла. Я вижу только пустой квадрат в лотке. Я могу использовать действия с иконками в трее, но мое изображение не отображается.

Спасибо за любую идею, почему это происходит.

ответ

0

Я прочитал description из QIcon класс, где вы можете найти ссылку на поддерживаемые форматы QImageReader::supportedImageFormats() и нет .ico формат.

Я не уверен, но, вероятно, это может быть источником вашей проблемы. Попробуйте изменить формат значка на другой.

2

При развертывании приложения Qt на другие компьютеры вам также потребуется развернуть плагины для необходимых форматов изображений. В вашем случае вы должны создать каталог imageformats и скопировать плагин qico.dll (который можно найти в каталоге Qt SDK).

Тем не менее, я рекомендую использовать формат PNG для вашего значка в лотке с учетом его лучшей переносимости.

0

Вы должны использовать один из поддерживаемых форматов изображения в qt. например, если вы используете формат .png, это покажет.

Смежные вопросы