2015-12-30 85 views
2

我想知道爲什麼Item這個作品:差異QML窗口和項目之間的父子關係

Item { 
    id: root 
    width: 640 
    height: 480 
    MouseArea { 
     anchors.fill: (root or parent. It doesn't matter) 
     onClicked: console.log("clicked") 
    } 
} 

Window它沒有。只有通過父母錨定才能工作,但是通過id錨定會失敗。

回答

2

根據documentation,anchors.fill要求參數要麼是或者要識別Item衍生的對象。

here你可以按照繼承鏈Window看到它實際上不是Item
此外,從here你可以看到:

如果一個項目分配給數據列表,它變成窗口的contentItem的孩子,所以它出現在窗口內。

其中用於contentItem我們有:

此附加屬性保存現場或空的無形的根項目,如果該項目不在一個窗口。

正因爲如此,它是有道理的,你正在觀察什麼:

  • Windowid無法識別在錯誤
  • 將通過id結果的Item
    →錨固parent實際上是隱藏的Item -derived contentItem每個的孩子3210自動授課
    →正確安裝parent作品
相關問題