The code:
widget->setStyleSheet("background-color: red");
works fine, but you need to set a style for each container widget that you add to the table:
So, to see the change, you will need the following code:
QWidget *widget = new QWidget(); widget->setStyleSheet("background-color: red"); QCheckBox *checkBox = new QCheckBox(); QHBoxLayout *layout = new QHBoxLayout(widget); layout->addWidget(checkBox); layout->setAlignment(Qt::AlignCenter); layout->setContentsMargins(0, 0, 0, 0); widget->setLayout(layout); QWidget *widget2 = new QWidget(); widget2->setStyleSheet("background-color: red"); QCheckBox *checkBox2 = new QCheckBox(); QHBoxLayout *layout2 = new QHBoxLayout(widget2); layout2->addWidget(checkBox2); layout2->setAlignment(Qt::AlignCenter); layout2->setContentsMargins(0, 0, 0, 0); widget2->setLayout(layout); ui->tableWidget->setCellWidget(0, 0, widget); ui->tableWidget->setCellWidget(0, 1, widget2);
And the result will be:

Jacob Krieg
source share