8
file:///home/biergaizi/WeCase.commit/src//ui/SmileyDelegate.qml:6:5: 
QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn 
anchors for items inside Column

为什么我得到那个?我试图在没有找到答案的情况下评论每一行。我对此一无所知。

笑脸视图.qml

import QtQuick 1.0

Rectangle {
    width: 300; height: 200


    GridView {
        id: grid
        anchors.fill: parent
        cellWidth: 36; cellHeight: 40

        model: SmileyModel
        delegate: SmileyDelegate {}
        highlight: Rectangle { color: "lightsteelblue"; radius: 5 }
        focus: true
    }
}

笑脸委托.qml

import QtQuick 1.0

Item {
    width: grid.cellWidth; height: grid.cellHeight

    Column {
        anchors.fill: parent
        Image { source: path; anchors.horizontalCenter: parent.horizontalCenter }
        Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }

        MouseArea {
            anchors.fill: parent
            onClicked: {
                highlight: color: "lightsteelblue"; radius: 5 
                grid.currentIndex = index 
            }
            onDoubleClicked: {
                parentWindow.returnSmileyName('[' + name + ']')
            }
        }
    }
}
4

1 回答 1

6

Column 试图将您的 MouseArea 锚定到图像和文本旁边,但 MouseArea 指定其锚点以填充其父级。这两件事是矛盾的,因此为什么会出现错误。

如果将 MouseArea 移出 Column 并移入 SmileyDelegate 的基础 Item,您可能会发现它按预期工作。

于 2013-04-08T07:54:00.250 回答