2012-03-03 6 views
2

им разработки QT приложений, и им с помощью нескольких иконокИконка не отображается на другом компьютере

это мой файл resource.qrc

<RCC> 
    <qresource prefix="/new/prefix1"> 
     <file>army-officer-icon.png</file> 
     <file>uac.png</file> 
    </qresource> 
</RCC> 

тогда я конечно включить его в моем файле .pro

RESOURCES += \ 
    resource.qrc 

и вот код, который берет на себя иконки:

//this code is part of the mainwindow.cpp 
QSystemTrayIcon *trayIcon; 
trayIcon = new QSystemTrayIcon(this); 
trayIcon->setContextMenu(trayIconMenu); 
trayIcon->setIcon(QIcon(":/new/prefix1/army-officer-icon.png")); 
trayIcon->show(); 



//this code is part of the ui_mainwindow.h (generated by QT) 
     QLabel *label_5; 
     label_5 = new QLabel(centralWidget); 
     label_5->setObjectName(QString::fromUtf8("label_5")); 
     label_5->setGeometry(QRect(40, 302, 46, 21)); 
     label_5->setPixmap(QPixmap(QString::fromUtf8(":/new/prefix1/uac.png"))); 
     label_5->show(); 

Итак, это выглядит разумно, не так ли?

=== окна 7, развитие станции, QT установлен

также является результатом эффекта, как я ожидал windows 7 - developing station, where qt is installed

я могу видеть как иконки :: трее иконка & Uac щит = удивительным

но когда я перейти на другую рабочую станцию, нечто странное происходит

=== Windows XP, пользователь рабочей станции, QT НЕ установлен

other workstation, qt not installed

, как и можно видеть, TrayIcon все еще имеет свой собственный значок, но «UAC значок щита» ... его пропадает очень и я действительно не получаю его, так как оба значка - это форматы * .png, я много просматривал и, возможно, имел связь с плагинами изображения qt (хотя я думаю, что я должен заботиться об этом только тогда, когда мой значок равен * .jpeg, * .gif), но не смог заставить это решение работать ...

поэтому любые идеи приветствуются. Thanx заранее.

ответ

5

Хорошо, ив нашел решение только после того, как ив отправил это (на самом деле, я было совсем близко, но я скопировал что-то с ложным путем: /)

  1. локализовать C: \ QtSDK \ Desktop \ Qt \ 4.8.0 \ MinGW \ плагинов

  2. копирования плагинов/imageformats в папку приложения

  3. открытый main.cpp и добавить эту строку кодов

    a.addLibraryPath(QCoreApplication::applicationDirPath()+"/plugins"); 
    
  4. компиляции, и посмотреть на ваши красивые иконки :)

+0

Вам не нужно, чтобы добавить 'plugins' каталог как путь к библиотеке, если вы копируете' imageformats/'папку непосредственно вашей папке приложения. – sschober

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