QML:无法将 QQuickItem 分配给 QQuickAnchorLine

QML: Unable to assign QQuickItem to QQuickAnchorLine

我正在尝试将 ID 为 containerItem 的项目定位在主文件 window 中,ID 为 mainWindow 的项目位于 main.qml 文件中。但是我在输出中得到了这条消息:

Unable to assign QQuickWindowQmlImpl to QQuickItem

消息指向字符串anchors.fill: mainWindow。 我的代码:

import QtQuick 2.4
import QtQuick.Window 2.2

Window {

    visible: true
    color: "black"
    id : mainWindow

    width: 360
    height: 360

    Item {

        anchors.fill: mainWindow

        id: containerItem
    }
}

非常感谢你的帮助!

Window (QQuickWindow) 非常具体。如果您将 child 称为 parent (anchors.fill:parent),您会收到 QQuickRootItem,但如果您使用 id,就像您的示例一样,您会收到 QQuickWindowQmlImpl。 如果你想用 children 使用 anchors.fill,请使用 Window 作为 parent。 P.S。 Window 也根本没有锚点,如果你想在示例中坚持正确,你必须计算你想要坚持的 window 和 object 的宽度,或者你可以包装 object 到填充项。

示例:

import QtQuick 2.4
import QtQuick.Window 2.2

Window {
    id : mainWindow
    visible: true
    color: "black"
    width: 360
    height: 360

    Item {
        id: containerItem
        anchors.fill: parent
        Rectangle {
            anchors {
                right:parent.right
                bottom:parent.bottom
            }
            width: 80
            height: 80
            color: "pink"
        }
    }
}