我在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
的{{1}}位置,但此代码未显示我的QMainWindow
容器。显然,有问题的父母有一个QQuickView
签名的setCentralWidget
方法,而且我已经完全将这个概念用于非QML小部件。如何解决这个问题以显示我的QML对象容器?
我的QML只是一个简单的概念示例:
main()
由于
答案 0 :(得分:1)
如果您使用的是最新版本的Qt,则会删除QWidget :: createWindoContainer。改为创建一个QQuickWidget,并将其用作普通的QWidget。
答案 1 :(得分:0)