QTableWidget如何像QTreeWidget一样自动拉伸最后一个字段?

8
有没有办法让 QTableWidget 的标题项像 QTreeWidget 一样自动拉伸到全尺寸?
1个回答

22

根据QTableView文档:

默认情况下,表格中的单元格不会展开以填充可用空间。

您可以通过拉伸最后一个标题部分来使单元格填充可用空间。使用horizontalHeader()verticalHeader()访问相关标题,并设置标题的stretchLastSection属性。

你应该试一试。

 QTableWidget *tw = ...;
 tw->horizontalHeader()->setStretchLastSection(true);

stretchLastSection属性的文档中写道:

注意:由QTreeView提供的水平表头将此属性设置为true,确保视图不会浪费分配给其表头的任何空间。

这就是树形视图如何实现它的。


这适用于 QTableView,而不适用于 QTableWidget - SexyBeast
@Cupidvogel:你能详细解释一下吗?QTableWidgets 是 QTableViews。 - Mat
不,你提到的方法,如horizontalHeaderverticalHeader并不属于QTableWidget,它们属于QTableView。而且这些方法在QTableView中也不能按预期工作。我很快会发布一个相关问题。 - SexyBeast
QTableWidget继承自QTableView,无论视图有哪些方法,小部件都有。 - Mat
哦,现在看起来运行良好。看起来我漏掉了一个前向声明。但是它仍然无法工作... - SexyBeast
如果你在使用Qt Designer,你也可以检查horizontalHeaderStretchLastSection - Claudiu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接