在 Raspberry Pi 2 上运行简单的 QtWebEngine 应用程序,页面未显示

Posted

技术标签:

【中文标题】在 Raspberry Pi 2 上运行简单的 QtWebEngine 应用程序,页面未显示【英文标题】:Running simple QtWebEngine app on Raspberry Pi 2, page not showing 【发布时间】:2015-06-06 12:18:51 【问题描述】:

我使用此tutorial using Yocto dizzy branch 中的信息在带有 Yocto 配方的 Raspberry Pi 2 上编译并安装了 QtWebEngine + QML 插件,然后运行以下脚本:

root@raspberrypi2:~# more chromium.qml 
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtWebEngine 0.9
ApplicationWindow 
    width: 1280
    height: 720
    color: "lightgray"
    visible: true
    WebEngineView 
        id: webview
        url: "file:///home/root/hello.html"
        anchors.fill: parent
    

请注意,导入版本 0.9,而不是 1.0

url: "file:///home/root/hello.html"url: "https://duckduckgo.com" 我都试过了,但我得到的只是一个带有黑色方形鼠标指针的红色屏幕。

root@raspberrypi2:~# more hello.html 
<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>

在控制台上:

root@raspberrypi2:~# /usr/bin/qt5/qmlscene -v -platform eglfs chromium.qml 
[0605/163256:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
[0605/163257:WARNING:proxy_service.cc(890)] PAC support disabled because there is no system implementation
[0605/163257:WARNING:resource_bundle.cc(280)] locale_file_path.empty()

PAC support disabled ... 似乎没有问题read here

更新

我已关注this step-by-step tutorial (Poky fido branch),然后在我的 Yocto 图像中添加了qtwebengine(这次是import QtWebEngine 1.0)和qtwebengine-qmlplugins,并再次使用bitbake 创建了我的图像

当我启动并运行 /usr/bin/qt5/qmlscene -v -platform eglfs chromium.qml 时,我可以看到我的 HTML 页面。

我已经测试了几十个网站,但并非所有页面都显示。所以他们可能会多一点。

例如

http://wikipedia.com shows!!! 
http://google.com doesn't show ???
http://https://***.com/ shows!!!
http://facebook.com doesn't

欢迎大家多多指教

更新 20160309

root@raspberrypi2:~/app# uname -a
Linux raspberrypi2 4.1.10 #1 SMP PREEMPT Wed Feb 17 16:51:44 CET 2016 armv7l GNU/Linux


root@raspberrypi2:~/app# lsb_release -a
LSB Version:    core-4.1-noarch:core-4.1-arm
Distributor ID: poky
Description:    Poky (Yocto Project Reference Distro) 2.0.1
Release:    2.0.1
Codename:   jethro

QML

root@raspberrypi2:~/app# more chromium.qml 
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtWebEngine 1.0

ApplicationWindow 
    width: 800
    height: 600
    color: "lightgray"
    visible: true
    WebEngineView 
        id: webview
        //url: "http://raspberrypi.stackexchange.com/" // PASS
        //url: "http://google.com" // FAIL
        //url: "http://video.webmfiles.org/big-buck-bunny_trailer.webm" // PASS but no Sound
        //url: "https://youtube.com/" // FAIL
        //url: "https://opentokrtc.com/anybots" // FAIL
        //url: "http://speedof.me/" // PASS
        url: "http://facebook.com"  // FAIL
        anchors.fill: parent
    

【问题讨论】:

我在 windows 机器上遇到了同样的问题。安装视频驱动程序后,此问题得到解决。 有趣。所以你真的有一些正确显示的网址吗?但其他人没有。您能否更具体地说明您所做的事情,这可能是一个很好的提示,可以弄清楚我这边发生了什么。干杯! 我没有 QWebView,我只有一个 Qt Quick 应用程序。但应用程序启动后只有一个白屏了。安装最后一个驱动程序解决了一个问题。 好的,那么这是一个不同的问题。嘿,无论如何,谢谢! 如果树莓派上存在 X Server,您可以尝试使用 Qt Widgets 中的 QWebView 或在没有 OpenGL 支持的情况下重新编译 qt。如果这可以正常工作,则视频驱动程序中的问题。这是 Qt 上 OpenGL 的一个非常常见的错误。 【参考方案1】:

也许有点晚了,但我尝试在 Qt 5.6 alpha 中构建 QtWebEngine,它在 Raspberry Pi 2 上对我来说适用于您列出的所有 URL。这是demo。也许他们在 QtWebEngine 中修复了一些东西,所以你可以试试 5.6-alpha。

【讨论】:

Luca 您在哪个操作系统上运行 Qt?我已经用我的环境的详细信息更新了我的问题,请参阅更新 20160309。 Raspbian 和 raspbian lite。 其实更好,如何在Raspbian上安装Qt5.6 + QtWebEngine?想在 RPi3 上尝试您的设置 对不起,我不知道 raspbian repos。我使用自己的构建。我在这里上传了一个版本:thebugfreeblog.blogspot.it/2016/03/…。或者您可以在这里下载完整的固件:thebugfreeblog.blogspot.it/2016/03/….【参考方案2】:

不幸的是,qtwebengine meta-qt5 的分支 jethro 引起了很多问题。

我很高兴在这个带有 chromium 45 的分支大师中看到这一点:

分支 jethro: QT_MODULE BRANCH CHROMIUM = "40.0.2214-based"

分公司主管: QT_MODULE BRANCH CHROMIUM = "45-based"

我会尝试构建;)

【讨论】:

您是否尝试构建主分支?我在 jethro 分支上处理同样的问题。

以上是关于在 Raspberry Pi 2 上运行简单的 QtWebEngine 应用程序,页面未显示的主要内容,如果未能解决你的问题,请参考以下文章

在树莓派2代B型/3代 上安装Fedora23 - Installing Fedora 23 on Raspberry Pi 2 model B or Raspberry Pi 3

Raspberry pi 中的 Crontab 不会运行非常简单的脚本

如何配置 NetBeans 11.1 项目以在 Raspberry Pi 上远程运行

在 ARM / Raspberry PI 上的多个内核上运行 Eigen 密集矩阵乘法时性能下降

OpenCV VideoCapture 在 Raspberry Pi 2 上总是失败

并行计算Python / Raspberry Pi