Qt 信号和槽获取发送者对象

若有多个信号绑定同一个槽:

 QCheckBox *ckb = new QCheckBox(this);
 connect(ckb, &QCheckBox::clicked, this, &MyWidget::ckb_clicked);

槽函数中判断发送者对象:

void MyWidget::ckb_clicked(bool check)
{
    QCheckBox *ckb = qobject_cast<QCheckBox *>(sender());
    QString info = ckb->isChecked() ? ckb->objectName() + "选择。" : ckb->objectName() + "取消。";
    QMessageBox::information(this, "提示", info);
}

QCheckBox *ckb = qobject_cast<QCheckBox *>(sender());这个转换判断。

posted @   double64  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-11-12 WPF 继承图
2022-11-12 WPF 后台线程操作界面元素不卡UI界面线程 Dispatcher
点击右上角即可分享
微信分享提示