Проблема с QtWebkit и QML в приложении PyQt5 Ubuntu для устройств (Ubuntu Touch)

У меня проблемы с qtwebkit в Ubuntu для устройств (Nexus 10) при использовании pyqt5, элемент webview не отображается, и приложение закрывается. Но если я тестирую тот же самый файл.qml с qmlscene, он работает, но веб-просмотр имеет полноэкранный размер.

Если я прокомментирую строки высоты и ширины, приложение python продолжает работать, но с белым экраном.

Это файл testQt5.py:

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQuick import QQuickView

app = QApplication(sys.argv)

view = QQuickView()
view.setSource(QUrl("file:///home/phablet/Documents/GUIWK.qml"))
view.show()

app.exec()

GUIWK.qml файл:

import QtQuick 2.0
import QtWebKit 3.0
import Ubuntu.Components 0.1

MainView {
    width: units.gu(120)
    height: units.gu(80)
    Rectangle {
        id: content
        anchors.fill: parent
        WebView{
            height: content.height
            width: content.width
            id: webview
            url: "http://www.google.com"
        }
    }
}

Файл testQt5.desktop:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
#Exec=python3 /home/phablet/Documents/testQt5.py
Exec=/usr/bin/qmlscene $@ /home/phablet/Documents/GUIWK.qml
Icon=qmlscene
Name=testQt5
X-Ubuntu-Touch=true

Я запускаю приложение, но оно не показывает ничего особенного в файле журнала в ~/.cache/upstart:

creating surface at (0, 64) with size (2560, 1536) with title 'Window 1'

1 ответ

Решение

QtWebKit не поддерживается API в SDK для использования на телефонах. Вам нужно использовать оксид вместо.

Вы можете сделать это с:

импорт com.canonical.Oxide 1.0

Он предоставляет в основном тот же API, что и QtWebKit.

Другие вопросы по тегам