C++ Qt单选按钮仅在实际选中按钮时调用SLOT()

C++ Qt单选按钮仅在实际选中按钮时调用SLOT(),c++,qt,signals-slots,slot,C++,Qt,Signals Slots,Slot,我有一组单选按钮。它们都连接到相同的插槽(updateImage()) 以下是它们的设置方式: connect(m_radio1, SIGNAL(toggled(bool)), this, SLOT(updateImage()); connect(m_radio2, SIGNAL(toggled(bool)), this, SLOT(updateImage()); connect(m_radio3, SIGNAL(toggled(bool)), this, SLOT(updateImage())

我有一组单选按钮。它们都连接到相同的
插槽(updateImage())

以下是它们的设置方式:

connect(m_radio1, SIGNAL(toggled(bool)), this, SLOT(updateImage());
connect(m_radio2, SIGNAL(toggled(bool)), this, SLOT(updateImage());
connect(m_radio3, SIGNAL(toggled(bool)), this, SLOT(updateImage());
将单选按钮从一个更改为下一个时,将调用此
SLOT()
,一次用于取消选择以前选择的单选按钮,一次用于选择单击的单选按钮

我想知道,有没有办法修改我的
SLOT()
,使其仅在其中一种情况下出现,即当单击的项目被选中时


谢谢

您请求连接到切换信号-无论何时切换对象,都会调用您。有什么奇怪的

您可以连接到“clicked”信号,该信号提供一个可以测试的“checked”参数


顺便说一句;如果使用现代Qt版本,您应该放弃信号和插槽宏,而是使用编译时检查的新connect()语法。

,因为您的信号有一个bool参数

toggled(bool)
您可以将该参数添加到插槽方法中。然后检查该参数是否已选中