如何调整包含 QTableView 的小部件的大小?

Posted

技术标签:

【中文标题】如何调整包含 QTableView 的小部件的大小?【英文标题】:How to resize the widget that hold a QTableView? 【发布时间】:2012-11-02 09:03:52 【问题描述】:

我在小部件内的布局本身中有一个 QTableView。 如何在调用 tableView.resizeColumnsToContents() 后设置 Widget 大小以便具​​有相同大小的表格(并且不需要滚动条) 谢谢

【问题讨论】:

【参考方案1】:

如果我正确理解您想要的是将容器小部件的水平大小调整为表格 contents 的大小(不一定是表格大小)。以下方法适用于我的 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())

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

【讨论】:

你完全理解我的需要!我会试试这个解决方案!

以上是关于如何调整包含 QTableView 的小部件的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据应用程序小部件中文本视图中的小部件大小调整文本大小?

如何使用“自动调整大小”避免 Android 中的小部件重叠。

QTableView/QTableWidget 中的类似 Ktorrent 的小部件

如何从模型的方法内部查询主应用程序的小部件

将 headerView 添加到小部件上的小部件中的 listView 调整大小 android

调整 QTreeWidget 内的小部件大小(使用 setItemWidget 设置)?