[Qt-interest] QtWebKit 4.5.0 doesn't load SVG or TIFF images

Rush Manbert rush at manbert.com
Thu Mar 19 22:52:47 CET 2009


[---- This first part duplicates an earlier post - same app, but  
different problem ----]
My test platform is Mac OSX 10.5.6 with Xcode 3.1.2.

I have a small web browser application that is a prototype for a much  
more complicated web browser application. The simple version always  
loads the same HTML. The web page that the HTML defines loads an  
external CSS file, an external JavaScript file, and a number of  
images, each in one of the supported image formats. The JavaScript  
causes the images to move on the page, the CSS causes the div that  
contains the images to have a purple background, and each image  
includes text that identifies its format. This all makes it easy to  
tell whether all of the content was loaded.

Because of the way the complicated browser works, we implemented this  
by deriving from QNetworkAccessManager and overriding its  
createRequest() method. We also derived from QNetworkReply so that we  
could override its readData() and bytesAvailable() methods, among  
others.

The createRequest() override instantiates our NetworkReply class and  
gives it a pointer to the rendered HTML. The NetworkReply::readData()  
method returns the HTML string in however many chunks are required.  
The current implementation is a fairly short string, so it only gets  
called once and it just returns the whole thing.

I have been using qmake to read my .pro file and make Xcode projects.  
I have tested this using Qt 4.4.3 and 4.5.0. Both of my Qt  
installations use the -static configuration, so I am using static  
libraries.

[---- Here is the new stuff. ----]
The problem I am seeing is that neither the Qt 4.4.3 version, nor the  
Qt 4.5.0 version loads the SVG or TIFF images. Both versions load BMP,  
GIF, JPG, and ICO images.

I have used my fixed HTML to write a web page that I can load with  
Safari. It loads all 6 image types and the page acts as I expect. I  
can also drag and drop all six image files onto Safari and they are  
displayed correctly.

In my program source, I have this:
Q_IMPORT_PLUGIN (qgif)
Q_IMPORT_PLUGIN (qico)
Q_IMPORT_PLUGIN (qjpeg)
Q_IMPORT_PLUGIN (qmng)
Q_IMPORT_PLUGIN (qsvg)
Q_IMPORT_PLUGIN (qtiff)

and my .pro file looks like this:
CONFIG += qt debug
HEADERS += TestBrowser.h
SOURCES += TestBrowser.cpp

QT += core network webkit svg
LIBS += /Users/rmanbert/temp/qt/plugins/imageformats/libqgif_debug.a / 
Users/rmanbert/temp/qt/plugins/imageformats/libqic
o_debug.a /Users/rmanbert/temp/qt/plugins/imageformats/ 
libqjpeg_debug.a /Users/rmanbert/temp/qt/plugins/imageformats/lib
qmng_debug.a /Users/rmanbert/temp/qt/plugins/imageformats/ 
libqsvg_debug.a /Users/rmanbert/temp/qt/plugins/imageformats/l
ibqtiff_debug.a

You can see that it includes "svg" on the "QT +=" line, and also has  
the full path to libqsvg_debug.a in the "LIBS +=" line.

Does anyone have any ideas why these image types would not load?

Thanks,
Rush 



More information about the Qt-interest-old mailing list