有没有一种方法可以将QCheckBox作为QTableWidget的单元格小部件放置在单元格的中心,而不是在左侧,而不需要额外的QWidget并在其布局中添加复选框?

最佳答案

使用setCellWidget将QCheckBox添加到表中:

QWidget *checkBoxWidget = new QWidget(); //create QWidget
QCheckBox *checkBox = new QCheckBox();   //create QCheckBox
QHBoxLayout *layoutCheckBox = new QHBoxLayout(checkBoxWidget); //create QHBoxLayout
layoutCheckBox->addWidget(checkBox);     //add QCheckBox to layout
layoutCheckBox->setAlignment(Qt::AlignCenter); //set Alignment layout
layoutCheckBox->setContentsMargins(0,0,0,0);

ui->tableWidget->setCellWidget(0,0, checkBoxWidget);

c++ - QTableWidget,居中cellWidgets-LMLPHP

还可以使用以下这些行来调整内容的大小:
ui->tableWidget->resizeRowsToContents();
ui->tableWidget->resizeColumnsToContents();



引用:https://evileg.com/en/post/79/

10-04 14:54