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());
这个转换判断。