gpt4 book ai didi

python - 更改 QTableView 中的默认行大小

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:32 25 4
gpt4 key购买 nike

如何更改 QTableView 中的默认行大小以使其更小?我可以调用 resizeRowsToContents(),但随后的插入仍会在末尾添加默认大小的新行。

我猜它可能与样式表有关,但我对影响视觉变化的因素还不够熟悉。

我在 Python 中使用 PySide,但我认为这是一个一般的 Qt 问题。


示例 View :

默认表格外观

enter image description here

resizeRowsToContents() 之后表格的样子:

enter image description here

现在如果我在末尾添加一个新的空白行:

enter image description here

该死,它使用默认的行高,还有所有额外的空间。

最佳答案

Qt::SizeHintRole 负责单元格的宽度和高度。所以你可以:

someModel.setData(someIndex,QSize(width, height), Qt::SizeHintRole);

或者只是这样:

someView.verticalHeader().setDefaultSectionSize(10);

而且我认为 setDefaultSectionSize 正是您要查找的内容。据我所知,没有其他简单的方法。

From doc:

defaultSectionSize : int

This property holds the default size of the header sections before resizing. This property only affects sections that have Interactive or Fixed as their resize mode.

如果您不知道需要多少像素,请尝试在应用 resizeRowsToContents()rowHeight() 后获得此高度

所以它应该是这样的:

resizeRowsToContents();
someView.verticalHeader().setDefaultSectionSize(someView.rowHeight(0));

关于python - 更改 QTableView 中的默认行大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27551821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com