gpt4 book ai didi

qt - 如何在 QWidget 中插入 QML View

转载 作者:行者123 更新时间:2023-12-02 09:20:18 27 4
gpt4 key购买 nike

我是 QML 的初学者,并尝试在 QWdiget 中 插入 QML View ,但我不明白为什么它不起作用。

这是我的 qml 文件的一个简单示例(这不是真正的文件):

import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.2
import QtQml.Models 2.1

ObjectModel {

id: itemModel
Rectangle {
color: "orange"
anchors.fill: parent
}
Rectangle {
color: "orange"
anchors.fill: parent
}
Rectangle {
color: "orange"
anchors.fill: parent
}
}

ListView {
id: my_list
anchors.fill: parent
model: itemModel
}
}

这就是我在主窗口中加载它的方式:
QQuickView *view = new QQuickView();
QWidget *container = QWidget::createWindowContainer(view, this);
container->setMinimumSize(200, 200);
container->setFocusPolicy(Qt::TabFocus);
view->setSource(QUrl("main.qml"));
ui->dockWidget->setWidget(container);

如何在 QWidget 中插入我的 View ?
这时候,我真的需要使用 QML View ,因为我需要在已经存在的应用程序中使用它,我不能只使用 QML 项目。

非常感谢您的帮助,祝您有美好的一天!

最佳答案

存在一个特殊的 QQuickWidget ,专门用于该确切目的。

QQuickWidget *view = new QQuickWidget;
view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
view->show();

关于qt - 如何在 QWidget 中插入 QML View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43234163/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com