我正在使用QML开发一个python桌面应用程序。
我的QML文件中有这个:
SplitView {
anchors.fill: parent
orientation: Qt.Horizontal
Rectangle {
color: "#272822"
id: cameraRectangle
width: window.width / 2
Item {
//more stuff
}
Item {
Rectangle {
anchors.top: cameraRectangle.bottom
}
}
}
Rectangle {
//Rectangle info.
}
}
我收到错误“QML矩形:无法锚定到不是父项或兄弟项目的项目。”在我正在做anchors.top的行:cameraRectangle.bottom。我会假设外部矩形是内部矩形的父级吗?
我在网上搜索过:http://doc.qt.io/qt-5/qtquick-visualcanvas-visualparent.html他们似乎没有做任何不同的事情?
可能是我正在使用的QtQuick版本吗?
导入如下:
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Controls 1.4
import QtQuick.Controls.Material 2.0
import QtQuick.Window 2.0
感谢您的帮助。
答案 0 :(得分:1)
SplitView {
anchors.fill: parent
orientation: Qt.Horizontal
Rectangle {
color: "#272822"
id: cameraRectangle
width: window.width / 2
Item {
//more stuff
}
Item {
// The parent of this Item is 'cameraRectangle'
// This Item will be the parent of the Rectangle
// therefore the Rectangle can't anchor to the 'cameraRectangle'
// anymore. As you are not doing anything with this Item
// (so far?) anway, you can just delete it, and everything
// will be fine.
Rectangle {
// The parent of this Rectangle is the Item that wraps it
// and not the 'cameraRectangle'.
anchors.top: cameraRectangle.bottom
}
}
}
Rectangle {
//Rectangle info.
}
}
正如错误消息所述:您不能锚定到父母以外的“祖先”。你也可以锚定兄弟姐妹。但不是他们的孩子,也不是你的孩子,也不是你的任何“祖父母”,叔叔或阿姨; - )