如何调整容纳QTableView的小部件大小



我在小部件内部的布局本身内有一个qtableView。我如何在tableview.resizeizezecolumnstocontents()之后设置小部件大小,以使表格的大小相同(并且不需要滚动条)谢谢

如果我正确理解您想要的是调整容器小部件的水平尺寸,以使表 cottents的大小(这不一定是表大小)。以下方法对我有用,有20行和3列的小表:

  • 向表模型询问列总数(应通过您的columnCount方法实现将其返回)
  • 使用columnWidth方法向视图询问每个列的宽度,并计算列的总宽度
  • 最终考虑了您的容器小部件大小,考虑了列的总宽度,表垂直标头的宽度和自动滚动边距

,代码看起来像:

my_table_view.resizeColumnsToContents()
w = 0
for c in range(my_table_model.columnCount()):
    w = w + my_table_view.columnWidth(c)
container_widget.resize(w + my_table_view.verticalHeader().width() + my_table_view.autoScrollMargin()*1.5, container_widget.size().height())

正如我说的,我假设您想水平调整小部件大小。

最新更新