我正在使用 QT5.5 实现一个简单的程序,其中包含一个 HTML 窗口(QWebview),如下图所示:
现在我希望该程序也安装在 iOS 上,例如 iPad。我发现 QWebview 类不适用于移动系统,所以我不得不将我的 HTML 窗口更改为带有 QML 文件的 QQuickView(或者有更好的方法吗?)。我在网上找到了以下代码:
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);
然后我将容器添加到主窗口。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
}
}
但不知何故,我无法正确布局。 iOS 上的 HTML 窗口 容器后面有一个空白/白色的矩形,并且容器也不在它应该在的右侧的 HTML 窗口中。当我在 qml 文件中更改矩形的宽度和高度时,它只会更改 webview 的大小,而不是白色背景。
谁能告诉我,我怎样才能做到这一点?我也用过container->setParent()
,但视图总是在左边。