Я довольно новичок в QT и мне нужна помощь с изменением размера qml dynamici c. Я использую Visual Studio с плагином QT, компилятором MSV C 2017.
Вот мой файл qml:
import QtQuick 2.0
import QtQml.Models 2.1
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.11
Rectangle
{
anchors.fill: parent
// or width/height here
Rectangle
{
anchors.fill: parent
color: "blue"
}
}
Мой пользовательский QQuickWidget:
customWidget::customWidget(QWidget *parent)
{
this->setParent(parent);
this->setGeometry(QRect(QPoint(0, 0), parent->size())); //this is for debugging only
this->setResizeMode(QQuickWidget::SizeRootObjectToView);
this->setSource(QUrl::fromLocalFile("qmlpath"));
}
Инициализация виджета
myWidget = new customWidget(ui.widgetArea); // widgetArea is an empty QWidget from the Qt Designer
qDebug() << myWidget->errors();
QVBoxLayout* layout = new QVBoxLayout(myWidget);
ui.widgetArea->setLayout(layout);
Я пробовал другие предложения, такие как, например, включение прямоугольников в сетку и использование "layout.fillWidth: true" et c. Все дает мне пустое пространство (размер виджета 0, 0) вместо синего прямоугольника, если я не определю для него фиксированную ширину и высоту. Я что-то пропустил?