我正在使用TableView
QML组件,其中每个列的宽度都设置为表的总宽度除以列数。这引入了一些分数部分,结果,水平滚动条几乎始终在底部可见。
但是我不想禁用滚动条,因为我有能力更改列宽,因此可能需要滚动条。所以我的问题是有关此TableView
组件的初始显示。我想在第一次显示组件时摆脱该滚动条,但不要禁用它以备将来使用。
我是QML的新手,并不了解QML的所有方面,但是我遇到的解决方案是像我一样设置每列的宽度,然后为最后一个获取所有先前列的总和并设置其宽度到parent.width-该总和。您能帮我了解如何使用QML来实现吗?
答案 0 :(得分:0)
columnWidthProvider在添加列中计算一次。我无法重现您的错误。 contentWidth
与width
TableView {
id: table
anchors.fill: parent
columnWidthProvider: function (column) {
console.log(parent.width , columns, parent.width / columns)
// wdth is 0 here
return parent.width / columns
}
ScrollBar.horizontal: ScrollBar {
policy: ScrollBar.AsNeeded
}
//....
}
但是从另一种观点来看,我有同样的问题。解决方案是:
Flickable {
id:view
ScrollBar.horizontal: ScrollBar {
policy: (view.width - view.contentWidth < -3) ?
ScrollBar.AlwaysOff : ScrollBar.AsNeeded}
}
}