Seite 1 von 1

Icon fehlt auf Rechner ohne Entwicklungsumgebeung!?!

Verfasst: 6. Januar 2011 11:06
von RobRoy1304
Qt 4.7 , Qt-Creator

Hallo,

ich nutze für mein Projekt das Ressourcen-System von QT, u.a. für das selbsterstellte Icon. Dieses ist in meinem MainWindow mittels des QT-Designer gesetzt, und auch bei allen anderen Dialogen des Projekts. In der main.cpp setze ich es ''von Hand'' mittels:

Code: Alles auswählen

QApplication a(argc, argv);
 //icon
QIcon ico(QString(":/images/res/icon.ico"));
if(!ico.isNull())
    a.setWindowIcon(ico);
damit auch in den Standard-Dialogen (z.B.QMessageBox) das Icon gesetzt ist.

Auf dem Entwicklungssystem läuft alles wunderbar, aber auf dem ''blanken'' Rechner ohne Enwicklungssystem fehlt überall das selbsterstellte Icon.

Die Qt-Biblotheken sind dynamisch und liegen im Projektordner, und zwar folgende:
mingwm10.dll, QtCore4.dll, QtGui4.dll, QtSql4.dll

Meine Frage ist jetzt, fehlt irgendeine Dll zum anzeigen/setzen des Icon's, eigentlich müsste das doch alles in QtGui4.dll sein ???

Oder mache ich irgendetwas falsch?

Danke, RobRoy

Verfasst: 6. Januar 2011 11:27
von Christian81
Foren-Suche, 'Plugins'
Siehe auch http://doc.trolltech.com/4.7/deployment-plugins.html
Dir fehlt das Plugin für das ico-Dateiformat

Verfasst: 6. Januar 2011 11:52
von RobRoy1304
Aha, vielen Dank.

Noch eine Frage, wie binde ich dieses Plugin dynamisch ein?

Muss ich die Datei ''qico4.dll' einfach in dem Programmordner legen, oder muss ähnlich wie beim sqlite treiber ein Unterordner her? (bei sqlite-treiber Unterordner ''sqldrivers'')

Muss ich im code noch was einbinden??

Vielen Dank

Verfasst: 6. Januar 2011 12:14
von Christian81
Steht in der Docu... es ist genauso ein Plugin wie das sql plugin :roll:

Verfasst: 6. Januar 2011 12:44
von RobRoy1304
So, habe es hinbekommen: (icon dll dynamisch laden)

1.in dem Programmordner folgende Ordner erstellen: ''plugins/imageformats/''

2.in den Ordner imageformats die Datei ''qico4.dll'' kopieren

3.in die main.cpp kommt:

Code: Alles auswählen

QApplication a(argc, argv);
a.addLibraryPath( a.applicationDirPath() + "/plugins" );
Danke nochmal...

Verfasst: 6. Januar 2011 12:46
von Christian81
Wenn man den Unterordner 'plugins' weglässt und nur imageformats in das Verzeichnis des executables kopiert geht es ohne die Source-Änderung. Das stand aber auch in der Doku.

Verfasst: 6. Januar 2011 13:57
von Herzogswalder
Benutze anstelle des Icons doch ein entsprechendes PNG, dann brauchste das ICO-Plugin nicht.