如何创建一个包含2个columnes的QTable小部件,在第一列中有一个QComboBox,在第二列中有一个QSpinBox,以便组合框获取表的所有空间,只有一个非常小的位置离开QSpinBox(2-3位数字)。
答案 0 :(得分:5)
首先,使用setCellWidget()
将QComboBox
和QSpinBox
设置为要在相应单元格中显示的小部件。
其次,使用horizontalHeader()
访问QTableView
的{{3}},然后相应地设置QHeaderView
。
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 );