【发布时间】:2010-07-03 18:25:08
【问题描述】:
如何创建一个有 2 列的 QTable 小部件,在第一列有一个 QComboBox,在第二列有一个 QSpinBox,以便组合框获得表格的所有空间,只留下一个很小的地方QSpinBox(2-3位)。
【问题讨论】:
标签: c++ qt combobox spinner qtablewidget
如何创建一个有 2 列的 QTable 小部件,在第一列有一个 QComboBox,在第二列有一个 QSpinBox,以便组合框获得表格的所有空间,只留下一个很小的地方QSpinBox(2-3位)。
【问题讨论】:
标签: c++ qt combobox spinner qtablewidget
首先,使用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 );
【讨论】: