Почему, когда я загружаю компонент с Loader
, width
и height
не копируются из родительского элемента?Почему Loader не устанавливает ширину и высоту родителя?
Этот код должен показать красный прямоугольник, но это не делает:
import QtQuick 2.7
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.0
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.3
Pane {
width: 400
height: 300
Item {
anchors.fill: parent
Loader {
sourceComponent: redsq
}
}
Component {
id: redsq
Rectangle {
//width: 100;
//height: 40;
anchors.fill: parent
color: "red"
}
}
}
Теперь, если я раскомментировать width
и height
и комментировать anchors
часть, он будет работать нормально:
Rectangle {
width: 100;
height: 40;
//anchors.fill: parent
color: "red"
}
Выход bin/qmlscene
:
Итак, в чем проблема здесь, разве не предполагается, что свойства распространяются системой property binding
? Или Loader
пропустить некоторые функции?
_Погрузчик не заполняется содержимым по умолчанию и не принимает размер содержимого по умолчанию. Это не совсем так: [поведение размера загрузчика] (http://doc.qt.io/qt-5 /qml-qtquick-loader.html#loader-sizing-behavior). Однако для якорей для работы они должны быть на загрузчике. – GrecKo