我正在尝试在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"
}
}
答案 0 :(得分:0)
您是否指定了一些QML file to the widget?
QQuickWidget *view = new QQuickWidget;
view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
view->show();
更多源代码可能会有所帮助。
有关更详细的参考信息,您可能会看到this。
要将QWidget
放在QStackedWidget
的正面,您应该使用setCurrentIndex
或setCurrentWidget
。请参阅this。