我试图在qstackkedwidget中添加一个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 code -
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"
}
}
您是否为小部件分配了一些QML文件?
QQuickWidget *view = new QQuickWidget;
view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
view->show();
更多的源代码可能会有帮助。
对于一些更详细的参考,你可能会看到这个
要把QWidget
放在QStackedWidget
的前面,你应该使用setCurrentIndex
或setCurrentWidget
。看到这个。