2012-01-31 8 views
9

テーブル内のカラムの幅を個人的に管理したいのですが、コードからサイズを変更した後で、ユーザが手動でサイズを変更できないようにする方法を見つけられません。私はQTableViewcolumnResized()スロットがあることを知りました。それを行うには、QTableWidgetをサブクラス化するか、何度もタイマーイベントの列をサイズ変更するしかありません。QTableWidgetの列のサイズを変更しないようにする方法は?

もっと簡単な方法がありますか?

答えて

19

使用して行うことができる。

void QHeaderView::setSectionResizeMode (ResizeMode mode)
void QHeaderView::setSectionResizeMode (int logicalIndex, ResizeMode mode)

水平ヘッダはhorizontalHeader()を用いQTableWidgetから到達可能です。

これは、それは次のようになります。

ui->tMeal->horizontalHeader()->setSectionResizeMode (QHeaderView::Fixed); 

なお、レガシー(Qt4を)アプリケーションがsetResizeMode()を使用する必要があります。