QComboBox и QSpinBox в QTableWidget с соответствующим выравниванием - PullRequest
2 голосов
/ 03 июля 2010

Как создать виджет QTable, который имеет 2 столбца, и в первом столбце есть QComboBox, а во втором столбце есть QSpinBox, так что поле со списком получает все пространство таблицы, и только очень небольшое место остается дляQSpinBox (для 2-3 цифр).

1 Ответ

5 голосов
/ 03 июля 2010

Сначала используйте 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 );
...