2016-03-01 12 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版本。

相關問題