[PyQt] doubt with QTextBrowser and QImage
David Boddie
dboddie at trolltech.com
Tue Nov 27 18:55:36 GMT 2007
On Tue Nov 27 18:17:42 GMT 2007, Claudio A. Quezada wrote:
> The thing is that i´d like to generate matplotlib charts (or could be
> PyQWt) and pass them to QTextBrowser as html, but whitout having to
> save them to disc (could be as QImage or QPixmap lists). I think this
> maybe could be advantageous and faster (reduce hard disk writing to
> pass them as QImage object).
Perhaps. It's possibly less work to manage them if they're not on disk.
> I´m stucked right now, i was checking QTextBrowser and QTextEdit
> documentation and the only thing that maybe could do this is
> QTextBrowser.loadResource(), but i don´t get it...
Here's a way to add a resource to a text document so that any references
to it (either using the QTextFormat API or from HTML) show an image.
Let's assume you already have a document:
document = QTextDocument()
And let's assume you obtained a QImage from somewhere:
image = QImage(100, 100, QImage.Format_ARGB32)
image.fill(qRgb(0,160,255))
You register the image with the document using a certain URL:
document.addResource(QTextDocument.ImageResource,
QUrl("matplotlib://image.png"), QVariant(image))
Now, any references to that URL in the document should result in an image
being displayed at that point. For example, here's how to insert a reference
to that image using a text cursor:
imageFormat = QTextImageFormat()
imageFormat.setName("matplotlib://image.png")
cursor = QTextCursor(document)
cursor.insertImage(imageFormat)
Or, once you have an editor, you can insert HTML to show it:
editor = QTextEdit()
editor.setDocument(document)
editor.append('<img src="matplotlib://image.png">')
editor.show()
Hope this helps,
David
--
David Boddie
Lead Technical Writer, Trolltech ASA
More information about the PyQt
mailing list