Qt单选按钮仅在实际选中按钮时调用SLOT()
Qt Radio Button only call SLOT() when button is actually checked
我有一组单选按钮。这些都连接到同一个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());
将单选按钮从一个更改为下一个时,将调用此SLOT()
两次,一次用于取消选择先前选择的单选按钮,一次用于选择单击的单选按钮。
我想知道,有没有办法修改我的SLOT()
,使其仅在其中一种情况下发生,当单击的项目被选中时?
谢谢
您要求连接到切换信号- 每当切换对象时都会调用您。有什么令人惊讶的?
您可以连接到"单击"信号,该信号提供可以测试的"已检查"参数。
顺便说一句,如果使用现代Qt版本,你应该放弃SIGNAL和SLOTS宏,而是使用在编译时检查的新connect()语法。
因为你的信号有一个布尔参数。
toggled(bool)
可以将该参数添加到 SLOT 方法中。然后检查参数是否被选中。
(作为补充:如何在Python中做到这一点?)假设您有一个单选按钮radio_button
并且您希望在传递args
作为参数的同时将其连接到插槽_my_slot
,这样radio_button
仅在选择信号后发送信号,那么您需要添加以下内容:
radio_button.clicked.connect(lambda: _my_slot(args))
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 可能的Qt5错误:调用setFixedSize()禁用主窗口的关闭按钮(在Win7下)
- 调用函数来创建 WinAPI 按钮不会执行任何操作
- Qt单选按钮仅在实际选中按钮时调用SLOT()
- 如何将按钮添加到节点的属性编辑器面板,该面板调用该节点内的方法?
- Qt在单击按钮时调用Child-Window
- 无法从抽象类调用按钮信号
- 按下Enter按钮时,如何使用C Win32 API调用按钮
- 当在C#中的WPF应用程序中单击一个按钮时,如何调用C 代码
- 如何在从主窗口事件处理程序调用后在子窗口中创建按钮
- 如果我单击按钮,则在 MFC 中调用函数
- 通过单击按钮调用 onPaint()
- 在后退按钮或关闭应用程序时调用析构函数
- QToolbar扩展按钮如何被调用
- 从IE工具栏按钮调用BHO
- 为什么当我单击控制台上的关闭按钮时没有调用析构函数
- 在Cocos2d-x中不能调用两次按钮点击功能
- 如何在不按按钮的情况下调用函数