在QStackedWidget中添加QQuickWidget

时间:2016-07-04 07:06:20

标签: qt qml qstackedwidget qquickwidget

我正在尝试在qstackedwidget中添加qquickwidget以及其他一些qwidgets。但是当我试图将当前小部件设置为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"
}
}

1 个答案:

答案 0 :(得分:0)

您是否指定了一些QML file to the widget

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

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

有关更详细的参考信息,您可能会看到this

要将QWidget放在QStackedWidget的正面,您应该使用setCurrentIndexsetCurrentWidget。请参阅this