如何调整包含 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 的小部件