c++ - QtWidget 窗口的 QQuickView 子窗口

标签 c++ qml qt-creator qtwidgets

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

主要.cpp

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

子窗口.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);
}

最佳答案

如果你想创建一个基于 QMLQWidget,那么最好使用 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);

关于c++ - QtWidget 窗口的 QQuickView 子窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51197421/

相关文章:

c++ - 除以余数时,奇数是否总是返回 floor?

c++ - 非阻塞选择()?

qt-creator - Qt创建者: Projects that use other projects as libraries

c++ - 不同上下文中的 QtQuick 动态对象

c++ - 无法访问 ListView 中的 QAbstractListModel 数据

c++ - 如何从 QtCreator 的自动完成弹出窗口中隐藏 C++ 私有(private)字段/方法

svn - 设置 qt creator 以在 windows 上使用 tortoise svn

c++ - FindResource 在 exe 文件上给出错误 1813

c++ - 如何使用 ZeroMQ 为两个发布者使用同一个端口向同一个订阅者发送数据?

c++ - 在Qml中创建新文件夹