0

我正在尝试在 qstackedwidget 中添加一个 qquickwidget 以及其他一些 qwidget。但是,当我尝试将当前小部件设置为 qquickwidget 时,窗口上不会出现任何内容。还有什么需要做的吗?我还将qquickwidget的view属性设置为 true

  QQuickWidget* mRoom = new QQuickWidget;
connect(mRoom, SIGNAL(statusChanged(QQuickWidget::Status)), this, SLOT(StatusChanged(QQuickWidget::Status)));
mRoom->setSource(QUrl::fromLocalFile("C:/Users/visjain/Desktop/main_vishwas.qml"));
mRoom->setResizeMode(QQuickWidget::SizeRootObjectToView);

QStackedWidget* mStack = new QStackedWidget(mparent);   
mStack->addWidget(mRoom);
mStack->setCurrentWidget(mRoom);
    mRoom->show();

qml 代码 -

import QtQuick 2.5
import QtQuick.Window 2.2


Window {
visible: true
height: 1000
width: 1800
Rectangle{
    height: parent.height
    width: parent.width
    color: "red"
}
}
4

1 回答 1

0

您是否为小部件分配了一些QML 文件

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

更多源代码可能会有所帮助。

对于一些更详细的参考,您可能会看到这个


QWidget要将内部 a放在QStackedWidget前面,您应该使用setCurrentIndexor setCurrentWidget。看到这个

于 2016-07-04T07:15:10.703 回答