如何创建一个有 2 列的 QTable 小部件,第一列有一个 QComboBox,第二列有一个 QSpinBox,这样组合框就可以占据表格的所有空间,只留下很小的地方QSpinBox(2-3 位数字)。
最佳答案
首先,使用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 );
关于c++ - QTableWidget 中的 QComboBox 和 QSpinBox 具有适当的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3172415/