1
我想創建一個帶有QML的TableView,我有一個複選框,一個圖像和一個文本字段。表的列定義如下:TableView與QML不正確的大小
// TableViewCheckBoxColumn.qml
TableViewColumn {
title: ""
role: "check"
delegate: CheckBox {
anchors.fill: parent
checked: styleData.value
}
}
//TableViewImageColumn.qml
TableViewColumn {
title: ""
role: "thumbnail"
delegate: Image {
anchors.fill: parent
source: styleData.value
width: 30
height: 30
}
}
現在數據模型和表本身如下被定義爲QML組件:
Item {
ListModel {
id: sourceModel
ListElement {
check: false
thumbnail: "file:///Users/xargon/alignment.png"
length: "10:22"
}
}
// Table view
TableView {
anchors.centerIn: parent
alternatingRowColors: false
TableViewCheckBoxColumn {
id: checkedColumn
}
TableViewImageColumn {
id: thumbColumn
}
TableViewColumn {
id: lengthColumn
role: "length"
title: "Length"
}
model: sourceModel
}
}
現在,這被嵌入在ColumnLayout和StackView如:
ColumnLayout {
anchors.fill: parent
MyTable {
id: reviewScreen
Layout.fillWidth: true
}
StackView {
id: options
Layout.fillHeight: true
Layout.fillWidth: true
initialItem: reviewScreen
}
}
現在我期待的表格填寫父控件的整個寬度,我也期待中的圖像被繪製成30×30的圖像,但我看到的是附上屏幕截圖,其中水平滾動條在控件之間移動,桌子很小,圖像也很扭曲。
你需要指定的寬度和高度的每個元素。 – DenimPowell