Сначала используйте setCellWidget()
, чтобы установить QComboBox
и QSpinBox
в качестве виджетов, отображаемых в соответствующей ячейке.
Во-вторых, используйте horizontalHeader()
для доступа к QHeaderView
для QTableView
, затем установите ResizeMode
соответственно.
QTableWidget* table = new QTableWidget( this );
table->setColumnCount( 2 );
table->setRowCount( 1 );
table->setCellWidget ( 0, 0, new QComboBox( table ) );
table->setCellWidget ( 0, 1, new QSpinBox( table ) );
table->horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch );
table->horizontalHeader()->setResizeMode( 1, QHeaderView::ResizeToContents );