在 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 密集矩阵乘法时性能下降