繁体   English   中英

QtWidget窗口的QQuickView子级

[英]QQuickView child of QtWidget window

我正在尝试创建一个嵌入在现有QWidget窗口内的QQuickView子窗口。 我下面的代码创建了一个新的单独的QQuickView窗口,而不是一个子窗口。

main.cpp中

subWindow::subWindow(QWidget* parent) {
    QQuickView* view = new QQuickView();
    view->setSource(QUrl("qrc:/main.qml"));
    view->show(); 
}

subWindow.cpp

MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent), ui(new Ui::MainWindow) {

    subWindow* sw = new subWindow();
    QWidget *sub = QWidget::createWindowContainer(sw, this);
    sub->setMinimumSize(1061, 511);
    sub->setMaximumSize(1061, 511);
    sub->setFocusPolicy(Qt::TabFocus);
    ui->subVerticalLayout->addWidget(sub);
}

如果要基于QML创建QWidget ,则最好使用QQuickWidget来添加:

QT += quickwidgets

到您的.pro

最后,您仅使用以下内容:

QQuickWidget *sub = new QQuickWidget();
sub->setResizeMode(QQuickWidget::SizeRootObjectToView);
sub->setSource(QUrl("qrc:/main.qml"));
sub->setMinimumSize(1061, 511);
sub->setMaximumSize(1061, 511);
sub->setFocusPolicy(Qt::TabFocus);
ui->subVerticalLayout->addWidget(sub);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM