2017-05-31 26 views
-2

我有一组单选按钮。这些都连接到同一SLOT(updateImage())Qt的单选按钮只调用SLOT()按钮时,实际上是检查

这里是他们是如何设置:

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()只发生在这些情况之一,当点击的项目被检查?

感谢

回答

3

你要求连接到切换信号 - 当对象被触发,你叫。让人吃惊的?

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

顺便说一句;如果使用的是现代的Qt版本,你应该沟信号和槽宏,并改用会在编译时检查新的连接()语法。

2

由于你的信号有一个布尔参数。

toggled(bool) 

你可以说参数添加到您的SLOT method.Then检查参数进行检查。