【发布时间】:2016-01-04 00:51:00
【问题描述】:
我有 TableView 有 4 列。当我扩大主窗口的宽度时,我也需要扩大第一列的宽度。
旧方式(非 QML)是:
QTableView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch );
现在我做了类似下面的例子,但这并不完美。
- 当我调整某些列的大小时,此构造停止工作。当主窗口改变大小时,所有列都保持实际状态并停止调整大小。
- 当我以后添加新列(忘记重写此可待因)或动态添加一些列时,这也会停止工作。
QML 文件::
TableView {
id: ccPanel
model: ccModel
TableViewColumn {
id: ccName
role: "name"
title: "Name"
width: ccPanel.width - ccSize.width - ccDate.width
}
TableViewColumn {
id: ccSize
role: "size"
title: "Size"
width: 60
}
TableViewColumn {
id: ccDate
role: "Date"
title: "Datum"
width: 85
}
}
你知道如何帮助我吗?
【问题讨论】:
-
如果您将
resizable设置为false,则应该修复这些错误。但我不知道用户是否应该能够调整列的大小。 -
否,此设置禁用通过鼠标更改列大小。