Bild in Quellcode einbinden

Alles rund um die Programmierung mit Qt
Antworten
daniil
Beiträge: 4
Registriert: 16. April 2007 16:04
Wohnort: Ulm

Bild in Quellcode einbinden

Beitrag von daniil »

Hallo leute,

nach mehrstündigen erfolglosen Versuchen das Problem selbständig zu lösen, frage ich doch lieber die Profis :)

Ich möchte gern ein Bild in einem widget statisch anzeigen. Nun habe ich es in Designer als pixmal label eingefügt und die Quelldatei (png) gewählt. Alles stimmt, Vorschau (Ctrl+t) funktioniert wie geplant. Wenn ich das Projekt kompiliere und starte, dann ist aber kein Bild mehr da :-o , nicht mal der Platzhalter dafür. In der ui-datei ist das bild allerdings drin:
<widget class="QLabel">
....
<property name="pixmap">
<pixmap>farbverlauf_150_12.png</pixmap>
</property>
</widget>


Ich vermute, dass qt die entsprechende Quelldatei fürs Bild nicht findet. Aber wo sucht er die? (habe die bilddatei ins Verzeichnis mit ui-datei und mit dll-library platziert - kein Erfolg)

Nun habe ich mal ne andere ui-datei mit sehr ähnlichem widget mir angeschaut. Da ist das bild als bitfolge direkt in ui-datei integriert.
<widget class="QLabel">
....
<property name="pixmap">
<pixmap>image0</pixmap>
</property>
</widget>

<images>
<image name="image0">
<data format="PNG" length="1133">89504e........</data>
</image>
</images>


Nun die wichtigste Frage: wie bringt man qt-designer dazu, dass er statt des Pfades zur Quelldatei einfach das ganze bild in der ui-datei speichert?

Danke für eure Hilfe.

Daniil
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

In die Ui Datei speichert er's nicht, aber Du kannst eine qrc Datei erstellen, die dann in eine .CPP Datei übersetzt werden kann. Die kannst Du in dein Quellcode einbinden und hast Zugriff auf die darin abgelegten Resourcen.

Siehe dazu auch:
http://doc.trolltech.com/4.2/designer-resources.html
und
http://doc.trolltech.com/4.2/resources.html
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
daniil
Beiträge: 4
Registriert: 16. April 2007 16:04
Wohnort: Ulm

Beitrag von daniil »

Hallo Volker,

danke für die Antwort. Gibt es diese qrc-dateien auch in den älteren qt-Versionen? Ich benutze noch die 3.3.5 Version.
Im zweiten Beispiel, das ich aufgeführt habe ist das Bild aber wirklich in der ui-datei abgespeichert (s. Abschnitt images). Wie macht man denn das?

<widget class="QLabel">
....
<property name="pixmap">
<pixmap>image0</pixmap>
</property>
</widget>

<images>
<image name="image0">
<data format="PNG" length="1133">89504e........</data>
</image>
</images>


Daniil
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ja, da gibt es qembed bzw. den Eintrag 'IMAGES' in der pro-Datei.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten