我开始了新的空项目(QWidget Application)。下面我把我插入到 mainwindow.cpp 中的代码
for(int i = 0 ; i < 10 ; i++){
QPushButton* b = new QPushButton();
b->setCheckable(true);
b->setChecked(false);
ui->centralWidget->layout()->addWidget(b);
b->setStyleSheet(
"QPushButton { background-color: red; }\
QPushButton:checked { background-color: black;}");
connect(b, &QPushButton::toggled, [b](){qDebug() << "State changed to" << b->isChecked();});
如您所见,状态正在发生变化,但取消选中按钮后仍为蓝色。