2012-10-12 20 views
0

在下面的代碼中,如果委託項是一個矩形,即使 雖然Rectangle繼承Item,但是高亮不起作用,這是一個錯誤,還是我缺少一些東西。作爲ListView中的代表的矩形使highlightItem不起作用

ListView { 
    width: 200 
    height: 500 
    focus: true 
    highlight: Component { 
     Rectangle { 
      width: 200 
      height: 20 
      color: "red" 
     } 
    } 

    model: ListModel {ListElement {name: "dummy 1"} ListElement {name: "dummy 2"}} 
    delegate: Item { // If Item is replaced with Rectangle highlight does not work even though Rectangle inherits Item 
     width: 200 
     height: 20 
     Text { 
      text: name 
     } 
    } 
} 

回答

2

您必須將委託矩形的顏色設置爲透明。默認情況下,矩形的顏色是白色,Item是透明的。

ListView { 
    width: 200 
    height: 500 
    focus: true 
    highlight: Component { 
     Rectangle { 
      width: 200 
      height: 20 
      color: "red" 
     } 
    } 

    model: ListModel {ListElement {name: "dummy 1"} ListElement {name: "dummy 2"}} 
    delegate: Rectangle { 
     width: 200 
     height: 20 
     color: "transparent" 
     Text { 
      text: name 
     } 
    } 
}