2011-06-10 71 views
2

我在SQLite数据库(客户端)中以二进制格式存储图像,并在桌面应用程序中使用QtWebKit。QtWebKit - 如何显示数据库中的二进制图像?

一切工作正常旁边需要显示存储在数据库中的二进制图像。

如何在QtWebKit中显示数据库中的二进制图像?

谢谢。

回答

4

一种方法可能是为这些内部资源实现您自己的URL方案,例如, mydb://foo.png - 请参阅this article以了解如何完成此操作。

+0

链接已损坏。 [https://wiki.python.org/moin/PyQt/Using%20a%20Custom%20Protocol%20with%20QtWebKit](https://wiki.python.org/moin/PyQt/Using%20a%20Custom%20Protocol% 20%%20QtWebKit) - PyQt的样本。谢谢你的搜索方向 – Arty 2016-07-28 20:45:43

+0

链接已更新,谢谢。 – 2016-07-29 10:02:47

0

而不是增加一个新的协议的简单解决方案是在此SO question

给出基本上提取的盘上的图像和存储的。然后使用setHtml()方法QWebView 来设置一个指向您的图像的html。

含义HTML必须包含

<img src='your path on disk'> 

标签。

这比实施协议更容易。

+0

注意,这只有在你添加'page-> settings() - > setAttribute(QWebSettings :: LocalContentCanAccessFileUrls,true)时才能工作。 () - > setAttribute(QWebSettings :: AutoLoadImages,true);',其中页面是QWebView的页面() – Raiv 2011-06-10 09:05:05

+0

这也意味着他必须将他的所有图像复制到文件系统。这可能是好的,但OP可能有一些很好的理由将它们保存在数据库中。 – 2011-06-13 08:10:02

1

如果图像不是那么大,您还可以查看data URL方案。例如,请参阅this question

相关问题