gpt4 book ai didi

c++ - 在 ResizeToContents 模式下调整大小时,QHeaderView 仅考虑当前屏幕上的项目

转载 作者:行者123 更新时间:2023-11-28 05:48:39 24 4
gpt4 key购买 nike

我的 QTableWidget 中有一列,其内容是可变长度的。重要的是,此内容的全部可见(不...),但我只想提供所需的空间。这是我必须完成此操作的代码。

... In the form's constructor

ui->myTable->horizontalHeader()->setResizeMode( 1, ResizeToContents );
ui->myTable->horizontalHeader()->setStretchLastSection( true );

...

除了指定列的大小适合当前可见(在屏幕上)的最大项目外,这可以正常工作,这意味着任何更宽的列都会变窄,并以“...”结尾并被截断内容。或者,我尝试了以下方法:

... Populate the table ...

ui->myTable->resizeColumnToContents( 1 );

...

不幸的是,这似乎与第一个代码片段的行为相同,在调整大小时仅考虑可见列。

考虑到行中的所有项目,而不仅仅是那些可见的项目,如何调整列的大小?

最佳答案

由于您已将此标记为 qt4,我怀疑这是由此处所示的错误引起的:https://bugreports.qt.io/browse/QTBUG-4206

此错误会导致表格仅调整当前在其视口(viewport)中的项目的大小,并且已在 >= 5.2 的版本中修复。您可以通过子类化 QHeaderView 来解决这个问题,但这似乎是一种相当费力的方法。如果可行,我建议您切换到更新的 Qt 版本。

关于c++ - 在 ResizeToContents 模式下调整大小时,QHeaderView 仅考虑当前屏幕上的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35727240/

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