微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

以编程方式自动调整QTableView列的大小

如何解决以编程方式自动调整QTableView列的大小

我的程序中有一个QTableView,我想自动调整其大小。我用过的功能

headerViewHorizontal->setSectionResizeMode(QHeaderView::ResizetoContents);
headerViewHorizontal->setSectionResizeMode(3,QHeaderView::Stretch);

调整它的大小,当我调整窗口大小时它适用。但是然后我需要在表中插入一行,这可能需要调整列的大小。我的问题在这里。当我插入一行时,其中一个字段太大,系统用树点将其写入(例如:“ 12.03 ...”而不是“ 12.03.2020”)。我需要调整窗口大小以使系统调整列的大小。

有没有可以用来强制更新列宽的插槽?

提前谢谢!

PS我在C ++中使用Qt5。

解决方法

感谢@Scheff,我的问题得到了回答。

解决方案是对没有拉伸调整大小模式的列之一使用resizeColumnToContent()。彼此将被更新。

Edit:仅当您调用resizeColumnToContent()的列必须更改其宽度时,此解决方案才有效。否则,您必须彼此调用resizeColumnToContent(int column)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。