C++ Qt/Qml:如何使小部件(createWindowContainer)填充父小部件
我有这个问题好几个月了。我尝试在iOS上通过qtl的QtWebView实现一个webview,并通过C++ Qt/Qml:如何使小部件(createWindowContainer)填充父小部件,c++,ios,qt,webview,qml,C++,Ios,Qt,Webview,Qml,我有这个问题好几个月了。我尝试在iOS上通过qtl的QtWebView实现一个webview,并通过QWidget::createWindowContainer(遵循在线教程)将webview嵌入到一个小部件中。但是我不能让这个小部件填充父小部件,也不能改变它的大小 我已经编写了以下示例来解释这个问题: main.cpp #include <QApplication> #include <QQuickView> #include <QBoxLayout> #i
QWidget::createWindowContainer
(遵循在线教程)将webview嵌入到一个小部件中。但是我不能让这个小部件填充父小部件,也不能改变它的大小
我已经编写了以下示例来解释这个问题:
main.cpp
#include <QApplication>
#include <QQuickView>
#include <QBoxLayout>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *mainwindow = new QWidget();
mainwindow->setStyleSheet("background-color:red;"); // so that we can see the problem more clearly
QHBoxLayout *layout = new QHBoxLayout(mainwindow);
QQuickView *view = new QQuickView();
QWidget* container = QWidget::createWindowContainer(view, mainwindow);
// container->setMinimumSize(200, 200);
// container->setMaximumSize(200, 200); // the displaying size doesn't change with or without these lines
// container->setFocusPolicy(Qt::TabFocus);
view->setSource(QUrl("qrc:///webview.qml"));
layout->addWidget(container);
mainwindow->setLayout(layout);
mainwindow->show();
return a.exec();
}
当我在QtCreator的iphonesimulator上运行这个小程序时,布局就像下面的屏幕截图(很抱歉,我还不能嵌入图片):
. 即使父窗口小部件小得多(在我的实际程序中),容器的大小也总是相同的。当我旋转iphonesimulator时
谁能帮忙解决这个问题?这让我烦了好几个月。谢谢 我已经在Android上进行了测试,一切正常,我还可以更改容器的大小。这是iOS上的错误吗?嗨,你能解决你的问题吗?我也一样question@Leo嗨,我解决不了这个问题。我想那是QT版本中的一个bug。也许他们已经在更新中更正了它,但我从那时起就没有测试过这个项目。我报告这是一个iOS错误,请参阅@Leo ok。如果他们解决了这个bug,你可以在这里发布答案,然后我可以结束这个问题。
import QtQuick 2.2
import QtWebView 1.0
Item {
visible: true
anchors.fill: parent
WebView {
anchors.fill: parent
url: "https://www.google.de"
}
}