7

QToolbarQWidget、およびQTabWidgetを備えたMainWindowがあります。レイアウトは「グリッド」です。ただし、私のウィンドウはサイズ変更可能で、レイアウトがあるためうまく機能します。私のQTabWidgetには、2 つの列を持つQTableWidgetがあります (レイアウトも「グリッド」です)。ウィンドウ全体のサイズを変更すると、QTableWidgetのサイズは変更されますが、列は変更されません。

たとえば、ウィンドウのサイズを変更するたびに、QTabWidgetのサイズが変更され、その中のQTableWidgetも変更されます。私のQTableWidgetの列だけではありません。

それで... QTableWidgetのサイズが変更された場合、どのようにサイズを変更できますか?

4

7 に答える 7

17
  1. の を変更しResizeModeますQHeaderView。たとえば、次を使用します。

horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch );

最初の列のサイズを変更して、QTableWidget常にいっぱいになるようにします。


  1. のサイズが変更されたときに、 をオーバーライドしてresizeEvent各列の幅を自分で設定します。QTableWidget
于 2013-03-28T16:18:52.240 に答える
11
  1. 最後の列を伸ばすには:

    ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
    
  2. #nをストレッチするには:

    ui->tableWidget->horizontalHeader()->setSectionResizeMode(n, QHeaderView::Stretch);
    
于 2014-02-04T12:40:57.493 に答える
4
ui->mytable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
于 2015-03-24T16:51:48.747 に答える
2

最後の列だけのサイズを変更したい場合:

ui->tableWidget->horizontalHeader()->setStretchLastSection(1);
于 2013-12-16T17:43:14.470 に答える
1

QHeaderView とメソッド QHeaderView::setResizeMode() を使用して、列または行の「サイズ変更モード」を変更できます。

http://qt-project.org/doc/qt-4.8/qheaderview.html#setResizeMode

http://qt-project.org/doc/qt-4.8/qtableview.html#verticalHeader

http://qt-project.org/doc/qt-4.8/qtableview.html#horizo​​ntalHeader

于 2013-03-28T16:09:37.747 に答える