好的,我发现我的情况有问题。
我使用Qt.createQmlObject()
如下:
import QtQuick 2.2;
Rectangle {
id: root
width: 300; height: 300
Row {
id: itemContainer
Component.onCompleted: {
var newObject = Qt.createQmlObject('import QtQuick 2.2; Rectangle {color: "red"; width: 200; height: 200}', itemContainer, "");
}
Rectangle {
width: 100; height: 50
color: "Yellow"
}
}
}
这不起作用,我将其更改如下:
import QtQuick 2.2;
Rectangle {
id: root
width: 300; height: 300
Row {
id: itemContainer
Rectangle {
width: 100; height: 50
color: "Yellow"
}
Component.onCompleted: {
var newObject = Qt.createQmlObject('import QtQuick 2.2; Rectangle {color: "red"; width: 200; height: 200}', itemContainer, "");
}
}
}
它可以工作,但不如预期!如您所见,在元素Qt.createQmlObject()
内部执行Row
不会导致重新计算元素的一些基本估计Row
。
我将此报告为https://bugreports.qt-project.org/browse/QTBUG-40356中的错误