4

我们在 QWebView 中加载简单的 HTML,使用 data-uri 协议的每个图像都不起作用。相反,我们看到了默认的占位符图像。我们正在使用使用 QTWebKit 的 Arora 浏览器进行测试,但也通过 cpp 文件加载 QWebView 进行了测试。

我做过的一些研究:

在其他网络参考资料中,人们提到了使用 data-uri 图像,但在每种情况下,他们都是在 c++ 代码中谈论的。我还没有看到对在 QWebView 中工作的 data-uri 协议的引用——这正是我们所需要的。

这是我们尝试加载的图像的示例:

<img src="data:image/png;charset=utf-8;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD03JoyaSnxJ5kqR5xuYD866jIdBbzXLbYkLHvjoKutpE8cDyyOPlGdqjca3oYY4IhHGoVRT6xdR9C+U43Joya09ato4ZkkQBfMzkD1Hf8AWsutU7q5DVhcmikopgFTWgJvIQoyd4OPxqGpIJfJuI5cZ2sDj1pMDr6KQEMAQcg8ilrmNTG14HbA2PlBYE/lWLWxrs2XihHYbjWPW8PhM5bhRRRViCigAk4AyT2q/b6Rcz4Ljyl9W6/lSbS3CxsaWzPp0JY5OCB9AcVcpqII41ReigAU6ud6s1Ryt+7PfzlzyHIH0HSq1b+paY9zL50TLuxgqe/41iTQSwNtljZD7jrW8WmjNojoooqhG/oiJ9lL7V37iN2Oa1KKK557mkdgoooqRhTXRXUq6hlPYjIooprcDkZQBK4HA3GiiiukyP/Z">

最初我在没有字符集的情况下加载,这在 Chrome 中没有什么不同。这些图像在 chrome btw 中加载良好。

所以要清楚,我试图找出 QtWebKit QWebView 是否支持 data-uri 协议。

感谢大家!

4

1 回答 1

0

在我的 qt 4.8 应用程序中无法使用 data-uri 图像时,我遇到了和你一样的麻烦。来回走动我发现我没有加载 gif 和 jpeg 插件。一旦我将它们添加到应用程序路径,data-uri 就开始工作了。

对于 OS X,这是适合我的解决方案:

  1. 构建应用程序(我使用 qmake -spec macx-g+++;make clean;make)
  2. 使用 qmake -query 查找插件目录
  3. 将 imageformats 目录复制到 AppName.app/Contents/PlugIns
  4. 运行 macdeployqt(确保插件指向 AppName.app/Contents/Frameworks)

完毕。

ps 我的应用程序不会从路径中的所有图像格式库开始,所以我只得到了 gif 和 jpeg 库,没有进一步调查

pps你不需要png图像的插件

于 2014-08-10T09:26:13.713 回答