Seite 1 von 1

Probleme mit QTextBrowser, Bilder weren nicht angezeigt

Verfasst: 27. Mai 2008 12:29
von grisu1972
Hallo Leute,

ich habe hier ein Problem mit dem QTextBrowser. Auf meinem Rechner funktioniert er tadellos, aber auf anderen Rechnern werden die eingebundenen Bilder nicht angezeigt!
Die Umgebung ist gleich: d.h. gleiche Applikation, gleiche Eingangsdaten!
Hatte schon jemand diese Problem?

Grüsse Carsten

Verfasst: 27. Mai 2008 12:32
von Sephral
Wie sind die Bilder denn eingebunden?

Verfasst: 27. Mai 2008 12:35
von grisu1972
Die Bilder sind über relative Pfade eingebunden!
Ich habe aus einem Word Dokument (einer Anleitung) ein HTML Seite erzeugt. Diese Daten habe ich in ein Verzeichnis kopiert und Index Datei ausgewählt und in den QtTextBrowser geladen.

Verfasst: 27. Mai 2008 12:49
von Sephral
Nunja, wenn es auf Deinem Rechner klappt und auf einem anderen nicht, dann hast du die Bilder entweder nicht mitgeliefert oder Deine Pfade sind doch nicht so relativ wie du denkst :-)

Habe es gerade mal mit einem kleinen Dokument versucht.
Mit dem "Webseite, gefiltert"-Export klappte es.

Die Bilder waren alle in das Word-Dokument eingebettet, nicht aus einem externen Pfad geladen.

Verfasst: 27. Mai 2008 13:31
von myme
Eventuell werden ja die Plugins für die Bildformate auf den anderen Rechnern nicht gefunden. Auf den Entwickler Rechnern fällt sowas meist nicht auf, weil man da ja Qt komplett drauf hat.

Was

Verfasst: 27. Mai 2008 13:43
von grisu1972
Was sind den "die Plugins für die Bildformate"? Ich dachte und habe eben noch mal nachgelesen das jpg und png in allen Versionen unterstüptzt weren!

Re: Was

Verfasst: 27. Mai 2008 13:49
von Christian81
grisu1972 hat geschrieben:Was sind den "die Plugins für die Bildformate"?
Das hatten wir vorgestern erst - Doku lesen bevor man anfängt hilft... *grml*
http://doc.trolltech.com/4.3/plugins-howto.html

Verfasst: 27. Mai 2008 13:50
von Picaschaf
Siehe: http://doc.trolltech.com/4.4/plugins-howto.html

qgif Image formats GIF
qjpeg Image formats JPEG
qmng Image formats MNG

Sieh dir einfach mal mittels dem Dependency Walker zb. die DLLs an, die dein Programm benötigt und liefer die mit. Dann sollte es funktionieren.

Wenn deine Qt Installation so konfiguriert ist, dass die Grafikformate als Library eingebunden werden musst du sie mitliefern. Wenn du die Qt selbst compilierst kannst du sie allerdings auch statisch mitlinken.

Btw. Warum benutzt du nicht die Webkit Integration von Qt 4.4?

Verfasst: 27. Mai 2008 15:21
von grisu1972
Hallo Leute,

ich habe den Vorschlag von Picaschaf aufgegriffen und mit dem dependency Walker auf meinem Rechner überprüft welche DLLs benötigt werden. Der zeigt dieBilder ja an, es ist aber keine Abhängigkeit zu qjpeg4.dll eingetragen!

Mir ist auch nicht klar warum ich z.B. folgendes eintragen soll wenn es auf meinem Rechner ohne funktioniert?

Projektdatei:
QTPLUGIN += qjpeg


Cpp:
# include <QtPlugin>
Q_IMPORT_PLUGIN(qjpeg)

Verfasst: 27. Mai 2008 15:25
von Christian81
Wie kann man nur soviel durcheinander bringen?? :(

Das Dependency Walker keine Abhängikeit zu qjpeg zeigt ist klar (ich wollte mich nur nicht schon wieder mit dem Experten anlegen *lol*) - die Libs werden (wie der Name schon sagt) dynamisch zur Laufzeit geladen.
Wohin das Plugin beim Installieren auf einen anderen Rechner muss steht in der Doku.

Linkst Du Qt statisch musst Du natürlich auch gegen das statisch jpeg-Plugin (ok, blöder name in dem Fall) linken. Warum Du auf einmal auf die Idee kommst das Du dies bräuchtest - k.A.

Verfasst: 27. Mai 2008 16:06
von grisu1972
Ok, es geht auch auf den nicht Entwicklungsrechnern!

Anmerkung:
1. Das Konzept, das die dlls in einen (vordefinierten) Unterordner erwartet werden ist zumindest bemerkenswert
2. Das die Applikation startet obwohl dlls nicht vorhanden sind /bzw der dependency walker sie nicht als fehlend einstuft ist auch erstmal bemerkenswert!

Danke an alle Beteiligten!

Verfasst: 27. Mai 2008 16:12
von Christian81
grisu1972 hat geschrieben: 1. Das Konzept, das die dlls in einen (vordefinierten) Unterordner erwartet werden ist zumindest bemerkenswert
Es hat sich eingebürgert das Plugins in einen extra-Ordner kommen. Kenn es eigentlich nicht anders.
2. Das die Applikation startet obwohl dlls nicht vorhanden sind /bzw der dependency walker sie nicht als fehlend einstuft ist auch erstmal bemerkenswert!
Nein, ist es überhaupt nicht - der Dependency Walker kann nur sehen was direkt gelinkt wird. Was Du irgendwann im Code mal nach lädst kann er nicht wissen. Geht nunmal schon vom Prinzip her nicht - um es deutlich zu machen - der User selbst könnte zur Laufzeit des Programms ein Plugin angeben welches dann geladen wird.

Verfasst: 28. Mai 2008 09:27
von grisu1972
Immer das gleiche wenn Ingenieure programmieren wollen :-( !

Grüsse Carsten