c++ - Qt QRadioButton setChecked

标签 c++ qt

在我的表单构造函数中,我检查各种成员的状态,然后根据单选按钮的状态用 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;
}

关于c++ - Qt QRadioButton setChecked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57214523/

相关文章:

c++ - 以调试器友好的方式从 RAM 加载 native C++ .dll

c++ - 如何在 Chromium Embedded Framework (CEF) 中获取 JS 对象?

qt - 在 Qt5 测试版中使用 QtWebKit

qt - QT中反向写入文本文件

c++ - 显示在 QtDesigner 中创建的 QDialog

java - 适用于交互式移动 map 的语言/框架

c++ - C++ 客户端可以调用用 golang 编写的 golang GRPC 服务器 stub 吗?

c++ - 无法将 Qt 信号连接到自定义类成员函数

c++ - 如何在不存储连接的情况下断开 lambda 函数

c++ - SYSTEMTIME 上的 30 天差异