Qt QRadioButton setChecked

Qt QRadioButton setChecked

本文关键字:setChecked QRadioButton Qt      更新时间:2023-10-16

在我的表单构造函数中,我检查各种成员的状态,然后根据单选按钮的状态调用 setChecked 与 true 或 false。

我本来希望这会调用与单选按钮关联的回调/插槽,它不起作用或不起作用。 例如,我的窗体上有两个单选按钮,rdoOn 和 rdoOff,在我的构造函数中,我检查状态,然后调用:

    ui->rdoOn->setChecked(true);

    ui->rdoOn->setChecked(false);

我在类中有插槽来处理这些,当我单击单选按钮时会调用这些插槽,但在我调用 setCheck 时不会调用这些插槽。

    void clsName::on_rdoOn_clicked() {
    ...
    }

除了直接调用插槽以将插槽的调用与调用 setCheck 链接之外,是否有其他方法?

您必须使用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;
}