【发布时间】:2014-12-18 16:59:01
【问题描述】:
如何更改 QTableView 中的默认行大小以使其更小?我可以调用resizeRowsToContents(),但随后的插入仍会在末尾添加新行,这是默认大小。
我猜这可能与样式表有关,但我对影响视觉变化的因素还不够熟悉。
我在 Python 中使用 PySide,但我认为这是一个普遍的 Qt 问题。
示例视图:
默认表格外观
resizeRowsToContents() 之后的表格是什么样子的:
现在如果我在末尾添加一个新的空白行:
该死的,它使用默认的行高,还有所有额外的空间。
【问题讨论】:
-
tableView.verticalHeader().setResizeMode(QHeaderView.ResizeToContents)似乎工作得很好,但是当我进行大量实时更新时,它是动态的并且会减慢我的应用程序。我真的只想获得标准的行大小。 :-( -
“标准”行高是您不根据内容调整大小时得到的。它基于行的大小提示,该提示源自项目委托的大小提示(以及其他内容)。如果您不喜欢该特定高度,只需将其更改为更可接受的高度(例如
table.fontMetrics().height() + 6)。 -
不知何故,我看不出第二张和第三张图片有很大的区别。
-
查看最后一个空白行(“toves”下方)
-
对于任何被 Jason 的评论难倒的人:有问题的方法是
setSectionResizeMode,而不是setResizeMode。
标签: python qt pyside qtableview