我今天在一个工程中涉及一个 checkbox 的状态处理,但是出现
问题,以下是一个
最小化的代码:
(新建工程,添加一个 checkbox,使用状态翻转检测的槽):
- void MainWindow::on_checkBox_stateChanged(int arg1)
- {
- disconnect(ui->checkBox,SIGNAL(QCheckBox::stateChanged(int)),
- this,SLOT(on_checkBox_stateChanged(int)));
- ui->checkBox->setChecked(false);
- QMessageBox::critical(NULL, tr("Test"), tr("Test"),
- QMessageBox::Yes, QMessageBox::Yes);
- connect(ui->checkBox,SIGNAL(QCheckBox::stateChanged(int)),
- this,SLOT(on_checkBox_stateChanged(int)));
- }
根据代码,应该在每一次点击 checkbox 之后,都会弹出一个警告框,但是实际上现在是每隔一次才能弹出警告框。不知道是我这里写的有问题,还是关于 checkbox 有我
没有注意的地方。