2013-04-08 1 views
3
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 Колонка: не может указывать верхние, нижние, вертикальные центрирующие, заполняющие или центрирующие анкеры для элементов внутри колонки

SmileyView.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 
    } 
} 

SmileyDelegate.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 + ']') 
      } 
     } 
    } 
} 

ответ

2

Колонка пытается прикрепить к MouseArea рядом с изображением и текстом, но MouseArea определяет якорь, чтобы заполнить его родителя , Эти две вещи противоречивы, и, следовательно, почему вы получаете ошибку.

Возможно, вы найдете его, как вы ожидаете, если вы переместите MouseArea из колонки и в базовый элемент для SmileyDelegate.