在表单构造函数中,我检查各种成员的状态,然后根据单选按钮的状态调用true或false的setChecked。
我本以为这会调用与单选按钮相关联的回调/插槽,它不起作用或不起作用。例如,我在窗体上有两个单选按钮,rdoOn和rdoOff,在构造函数中,我检查状态,然后调用:
ui->rdoOn->setChecked(true);
要么
ui->rdoOn->setChecked(false);
我在类中有插槽可以处理这些,单击单选按钮时将调用这些插槽,而在调用setChecked时则不会。
void clsName::on_rdoOn_clicked() {
...
}
无论如何,除了直接调用插槽以将插槽的调用与调用setChecked链接之外,还有其他方法吗?
最佳答案
您必须使用toggled
信号:
*。H
class clsName: ....
{
// ...
private Q_SLOTS:
void onToggled(bool checked);
// ...
};
* .cpp
// constructor
connect(ui->rdoOn, &QAbstractButton::toggled, this, &clsName::onToggled);
void clsName::onToggled(bool checked){
qDebug() << checked;
}