Seite 1 von 2

[gelöst] Ressource Dateien sind nicht da

Verfasst: 17. März 2010 14:53
von stonecold
Hallo,

ich habe folgendes Problem.
Ich benutze eine relativ aktuelle Qt4 Version, welche via PlugIn in das VS2008 eingebunden ist. Mit den Designer habe ich eine Fenster, welches entsprechende Icons enthält, erstellt.

Nach dem kompilieren findet sich im Projektverzeichnis auch eine Datei mit der Endung *.qrc. Des Weiteren wird auch eine qrc_*.cpp erstellt. Beide Dateien enthalten die im Designer eingebundenen Icons.

Wenn ich die App aus dem VS heraus starte, sind alle Icons zu sehen und alles ist gut. Starte ich die App auf einem anderen Rechner, fehlen aber diese Icons. Sollten die nicht eigentlich im Binary enthalten sein? Auch wenn ich auf dem Zweitrechner die Icons mit ins Bin-Verzeichnis kopiere tauchen sie nicht auf.

Wo könnte das Problem liegen?

Danke für eure Hilfe und Gruß,
Mario

Verfasst: 17. März 2010 15:00
von Exasperation
Wie werden die Icons innerhalb deines Codes eingebunden?
So sollte der Pfad aussehen:

Code: Alles auswählen

my_button->setIcon( QIcon(":/pfad_zu_deiner_datei/mein_bild.png") );
Und natürlich im qrc-file die Dateien deklarieren.

Verfasst: 17. März 2010 15:07
von stonecold
Ich binde die Icons im Designer ein, d.h. der ganze Code wird generiert.

Verfasst: 17. März 2010 15:21
von Exasperation
Sry mit dem Designer kenn ich mich leider nicht aus, ich behalte gern die Kontrolle über meinen Code...

Verfasst: 17. März 2010 15:30
von stonecold
Kein Problem. Hatte ja anfänglich schon beschrieben, dass ich die Icons mit den Designer eingebaut habe.

Gruß,
Mario

Verfasst: 17. März 2010 15:35
von drizzt
legst du im designer ne resource datei an, oder lädst du einfach dateien?

Verfasst: 17. März 2010 15:43
von stonecold
Ich lege ne Ressource an.

Auszug auch *.ui File

Code: Alles auswählen

<property name="icon">
 <iconset resource="scpi_meter.qrc">
  <normaloff>:/SCPI_Meter/Resources/oeffnen.ico</normaloff>:/SCPI_Meter/Resources/oeffnen.ico</iconset>
</property>

Verfasst: 17. März 2010 17:38
von TSS
Ein Bekannter von mir hatte mal ein Problem mit seinen Icons, weil er die falschen DLLs genommen hatte. Wenn du dein Programm auf einem anderen PC startest kann es ja sein, dass du aus irgendeinem Grund die falschen DLLs dabei hast.
Ich weiß auch nicht woran es genau lag, aber nach einem Austausch der DLLs ging es da wieder. Du kannst es ja mal probieren.

Verfasst: 17. März 2010 17:55
von stonecold
Welche DLL denn? die Icons selbst liegen als ico Datein vor.

Verfasst: 17. März 2010 17:59
von Christian81
Resource-Dateien -> Doku

Verfasst: 17. März 2010 18:02
von TSS
stonecold hat geschrieben:Welche DLL denn? die Icons selbst liegen als ico Datein vor.
Damit meinte ich die DLLs von Qt also z.B. QtCore4.dll die auf dem Zweitrechner vllt in anderer Version oder so vorliegen.

Verfasst: 17. März 2010 19:34
von stonecold
Christian81 hat geschrieben:Resource-Dateien -> Doku
Hallo Christian,

ich habe die Doku gelesen. Eigentlich sollte alles so sein wie dort beschrieben. Ich habe mit dem Designer in einer Toolbar mehrer Actionitems definiert und im die Resourcen zugewiesen. Er erzeugt mir ein qrc_app.cpp und fügt es auch dem VS Projekt hinzu.

Auf dem Rechner, auf dem ich kompiliere funktioniert es. Auf einem Anderen Rechner nicht.

Wo kann das Problem liegen?

Gruß,
Mario

Verfasst: 17. März 2010 19:35
von stonecold
TSS hat geschrieben:
stonecold hat geschrieben:Welche DLL denn? die Icons selbst liegen als ico Datein vor.
Damit meinte ich die DLLs von Qt also z.B. QtCore4.dll die auf dem Zweitrechner vllt in anderer Version oder so vorliegen.
Die dlls nehme ich von dem Build-Rechner mit! Auf dem anderen ist kein Qt installiert.

Verfasst: 17. März 2010 19:38
von Christian81
Sorry, habe ich übersehen.
Dann fehlt das ico-Plugin würde ich sagen. ico-support wird nämlich standardmässig als plugin gebaut - siehe qt4-dir/plugins/imageformats

Verfasst: 17. März 2010 19:54
von stonecold
Okay, das ist das Problem!
Klasse, dass es zumindest mal gefunden ist. Wenn ich die Plugins aus dem Verzeichnis wegkopiere zeigt die App die Icons auf dem Buildrechner auch nicht mehr an.

Einfaches kopieren der dll in das Verzeichnis der .exe hat es aber auf dem Nichtbuild-System nicht gebracht.

Warum meckert die App nicht wenn ein PlugIn fehlt?

Werde mal kurz durch die PlugIn Doku scrollen.