2016-08-10 57 views
1

table view with various columns and rows如何讓QML TableView有兩個帶有單頭的列?

TableView的每一列都綁定到一個模型項。

如何在圖片中只顯示一個標題的兩列? 「列1」包含兩列「F-1」和「drop here」。

+0

也許你可以通過指定'TableViewColumn'定製'delegate'解決這個問題。 [see here](http://doc.qt.io/qt-5/qml-qtquick-controls-tableviewcolumn.html) –

+0

或者作爲一種解決方法,使用自定義項目代理分爲2個單元 – folibis

+0

你會幫我一個忙嗎展示一些例子?我是qml的新手。謝謝。 – Jim

回答

0

這裏是一些簡單的例子:

import QtQuick 2.7 
import QtQuick.Window 2.0 
import QtQuick.Controls 1.4 


Window 
{ 
    width: 600 
    height: 500 
    visible: true 

    ListModel { 
     id: myModel 
     ListElement { 
      column1: "A1" 
      column2: "A2" 
      column3: "A3" 
     } 
     ListElement { 
      column1: "B1" 
      column2: "B2" 
      column3: "B3" 
     } 
     ListElement { 
      column1: "C1" 
      column2: "C2" 
      column3: "C3" 
     } 
    } 

    TableView { 
     id: myTable 
     anchors.fill: parent 
     anchors.margins: 5 
     TableViewColumn { 
      role: "column1" 
      title: "Column1" 
      width: myTable.width/3 
      horizontalAlignment: Text.AlignHCenter 
     } 
     TableViewColumn { 
      role: "column2" 
      title: "Column2" 
      width: myTable.width/3 
      horizontalAlignment: Text.AlignHCenter 
     } 
     TableViewColumn { 
      role: "column3" 
      title: "Column3" 
      width: myTable.width/3 
      horizontalAlignment: Text.AlignHCenter 
     } 
     model: myModel 
     itemDelegate: Item { 
      Row { 
       id: row 
       anchors.fill: parent 
       Text { 
        width: row.width/2 
        text: styleData.value 
        horizontalAlignment: Text.AlignHCenter 
       } 
       Text { 
        width: row.width/2 
        text: "drop here" 
        color: "red" 
        horizontalAlignment: Text.AlignHCenter 
       } 
      } 
     } 
    } 
} 
相關問題