【发布时间】:2017-12-12 04:35:15
【问题描述】:
我有一个简单的 QTableView,我基本上想模仿这个:
view.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
但是,我实际上不能使用它,因为它会在每一行上调用 sizeHint,这在我的情况下是不可接受的,因为小部件需要在启动时做出响应,并且所有行的计算都需要很长时间。因此,这不是一个选项。
我知道单列的大小,它总是相同的,并且总是高度最大的。但是,此单元格的宽度可能并不总是一行中所有单元格中最宽的。我通过这样做使这些单元格的大小正确,但这显然会使所有单元格的大小相同,而且现在很多单元格都太宽了。
view.horizontalHeader().setDefaultSectionSize(200)
view.verticalHeader().setDefaultSectionSize(100)
我也尝试设置单独的列宽,但这似乎对宽度没有任何影响,如下所示:
view.setColumnWidth(0, 5)
另外,设置单个列的宽度也不是很好,因为我无法提前知道它们的宽度。
有什么方法可以使用(或模拟)ResizeToContents 方法(如上所示),但不需要检查所有单元格大小?
【问题讨论】: