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

时间:2015-06-06 12:18:52

标签: qt5 raspberry-pi2 yocto qtwebengine

我使用此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
    }
}

请注意IMPORT VERSION 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>

raspberry pi 2 LCD showing first white then red canvas with mouse pointer

在控制台上:

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 <再次创建了我的图片/ p>

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

我测试了几十个网站,而不是所有的网页节目。所以他们可能会多一点。

e.g。

http://wikipedia.com shows!!! 
http://google.com doesn't show ???
http://https://stackoverflow.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
    }
}

2 个答案:

答案 0 :(得分:3)

也许有点晚了,但我尝试在Qt 5.6 alpha中构建QtWebEngine,它可以在Raspberry Pi 2上为您列出的所有网址正常使用。这是demo。也许他们在QtWebEngine中修复了一些东西,所以你可以试试5.6-alpha。

答案 1 :(得分:2)

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

我很高兴看到这个分支大师用铬45:

分支jethro: QT_MODULE BRANCH CHROMIUM =“基于40.0.2214”

分公司主人: QT_MODULE BRANCH CHROMIUM =“45-based”

我会尝试构建;)