gpt4 book ai didi

c++ - QML QWidget 容器

转载 作者:行者123 更新时间:2023-11-28 06:11:27 25 4
gpt4 key购买 nike

我从 Qt Creator 中的 QML 开始,我非常喜欢我读过的关于它的所有内容,但现在我发现了一个复杂的问题。

见以下代码:

BLCMainWidget::BLCMainWidget(QWidget *parent) : BLCBaseWidgetControler(parent) {

QQuickView view;
view.setSource(QUrl("qrc:///main.qml"));
QWidget *container = QWidget::createWindowContainer(&view);

QHBoxLayout *layout = new QHBoxLayout;
layout->setSpacing(10);
layout->setAlignment(Qt::AlignHCenter);
layout->setContentsMargins(1, 1, 1, 1);
parent->setStyleSheet("background:QColor(200,100,150);");

layout->addWidget(container);

parent->setLayout(layout);

}

parent 是我的 QWidget 在我的应用程序的 QMainWindow 上,但是这段代码不显示我的 QQuickView 容器.显然,有问题的 parent 有一个 setCentralWidgetmain() 方法中签名,我已经完美地将这个概念用于非 QML 小部件。我该如何解决这个问题以显示我的 QML 对象容器?

我的 QML 只是一个简单的概念示例:

import QtQuick 2.1

Item {
id: box
width: 640
height: 480

Rectangle {
id: redSquare
width: 30; height: 30
anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10
color: "green"

Text { text: "!"; font.pixelSize: 16; anchors.centerIn: parent }
}
}

谢谢

最佳答案

如果您使用的是最新版本的 Qt,则不推荐使用 QWidget::createWindowContainer。创建一个 QQuickWidget,并将其用作普通 QWidget。

关于c++ - QML QWidget 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31182946/

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