Я начинаю с QML в Qt Creator, и мне нравится слишком много всего, что я читал об этом, но теперь я нашел осложнение.QML QWidget container
См следующий код:
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
QMainWindow
на мое приложение, но этот код не показывать мой QQuickView
контейнер. Очевидно, что у родителя, у которого есть вопрос, есть setCentralWidget
, подписанный в методе main()
, и я уже отлично использую эту концепцию для виджетов, отличных от QML. Как я могу исправить это, чтобы показать контейнеры объектов QML?
Мои QML является лишь простой пример концепции:
import QtQuick 2.1
Item {
id: box
width: 640
height: 480
Rectangle {
id: redSquare
width: 30; height: 30
anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10
color: "green"
Text { text: "!"; font.pixelSize: 16; anchors.centerIn: parent }
}
}
Благодаря