Я реализую простую программу с QT5.5, которая содержит окно HTML (QWebview), как на следующем снимке экрана:
Теперь я хочу, чтобы программа была установлена и для iOS, например. для iPad. Я обнаружил, что класс QWebview недоступен для мобильной системы, поэтому мне пришлось изменить окно HTML на QQuickView с файлами QML (или есть способ лучше?). Я нашел в сети следующий код:
QQuickView *view = new QQuickView();
QWidget *container = QWidget::createWindowContainer(view, this);
container->setMinimumSize(200,400);
container->setMaximumSize(200,400);
container->setFocusPolicy(Qt::TabFocus);
view->setSource(QUrl("qrc:///webview.qml"));
layout->addWidget(container);
Затем я добавил контейнер в mainWindow. Файл webview.qml:
import QtQuick 2.5
import QtWebView 1.0
Rectangle {
id: rectangle
width: 200
height: 400
WebView {
id: webview
url: "file:///test.html"
anchors.fill: parent
width: 200
height: 400
}
}
Но как-то не получается разобрать верстку. HTML-окно в iOS За контейнером находится пустой / белый прямоугольник, а контейнер также не в окне HTML с правой стороны, где он должен быть. Когда я изменяю ширину и высоту прямоугольника в файле qml, изменяется только размер веб-просмотра, а не белый фон.
Кто-нибудь может сказать мне, как я могу это исправить? Я также использовал container->setParent()
, но вид всегда слева.