2016-03-01 15 views
0

我的QTableWidget中有一列的内容长度可变。重要的是这些内容的全部都是可见的(不...),但我只想提供尽可能多的空间。这是我必须完成的代码。在ResizeToContents模式下调整大小时,QHeaderView仅占当前屏幕上的项目

... In the form's constructor 

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

... 

此作品不同的是指定的列大小以适应这是目前可见的(在屏幕上)最大的项目,这意味着任何将更宽的列都留给缩小,并与结束” .. 。“和截断的内容。另外,我已经试过如下:

... Populate the table ... 

ui->myTable->resizeColumnToContents(1); 

... 

不幸的是,这似乎有同样的表现作为第一代码片段,调整时仅考虑可见列。

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

回答

1

既然你已经标记这是qt4,我怀疑这是一个错误引起的,如下所示:https://bugreports.qt.io/browse/QTBUG-4206

此错误会导致该表只调整当前在其视项目而定的版本> = 5.2。你可以在QHeaderView的子类中解决这个问题,但这似乎是一个相当耗时的方法。如果可行,我建议你切换到一个更新的Qt版本。

相关问题