PyQt:如何在TableView中最大化列宽?

8
实际上标题已经包含了所有需要的信息。是否有一个像tableview.resizeColumnsToContents()这样的简单函数,可以在小部件大小内最大化所有列宽度?我的列很窄,所以表格看起来非常紧凑。
2个回答

14
如果您希望列均匀扩展,您也可以设置调整大小模式。
tableview.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)

在 pyqt5 中,setResizeMode 已不再可用。取而代之的是,在 QtWidgets 模块中使用 setSectionResizeModeQHeaderView


谢谢你的回答,能否告诉我如何做到这一点并启用它,以便当你有更多的列时,它仍然会使宽度变大,而不会出现滚动条? - U13-Forward
2
2020更新:tableview.horizontalHeader().setSectionResizeMode(i, QtWidgets.QHeaderView.Stretch)中的i是列索引。 - Santi Peñate-Vera
@SantiPeñate-Vera,区域索引是可选的。setSectionResizeMode有两个重载函数,一个设置所有区域的模式,另一个设置给定索引的模式 - musicamante

5

stretchLastSection,我错过了那个。谢谢! - gruenkohl
1
@gruenkohl,由于@Macke已经回答了你的问题,你应该点击勾号将他的答案标记为已接受。同样地,如果答案很好,虽然可能不是解决你问题的方法,你也应该点击上箭头给它投票。 - Kaleb Pederson

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