1.添加控件
ui->tableWidget->setCellWidget(int row,int column,QWidget*);
在行row,列column处添加QWidget控件
eg:
QComboBox *combox = new QComboBox;
ui->tableWidget->setCellWidget(0,0,combox);
在0,0处添加combox控件
2.获取控件
QWidget *widget = ui->tableWidget->cellWidget(int row,int column);
如果控件是QComboBox可以强转
QComboBox *cbbox = (QComboBox*)widget;//获取控件
//比如我要获取控件当前的文本内容
cbBox->currentText();
3.控件居中
QCheckBox *ckBox;
QWidget *pBoxWidget;
QHBoxLayout *hBox;
for(int i = 0;i < rowCount;i++)
{
ckBox = new QCheckBox();
ckBox->setChecked(false);
pBoxWidget = new QWidget(this);
hBox = new QHBoxLayout();
hBox->addWidget(ckBox);
hBox->setMargin(0);
hBox->setAlignment(ckBox,Qt::AlignCenter);
pBoxWidget->setLayout(hBox);
ui->tableWidget->setCellWidget(i,3,pBoxWidget);
}