QCheckBox::toggled()和QCheckBox::clicked()之间有什么区别
What is the difference between QCheckBox::toggled() and QCheckBox::clicked()?
QCheckBox::toggled(bool)
和QCheckBox::clicked(bool)
信号之间有实际区别吗?两者都有相同的签名,我连接哪一个有关系吗?
每次复选框的检查状态发生变化时,即使通过代码发生变化,也会发出toggled
信号,而clicked
信号只有在用户与复选框交互时才会发出,例如:
ui->checkbox->setChecked(true); // toggled() will be emitted, but not clicked()
QCheckBox Inherit同时切换和单击。
void QAbstractButton::clicked ( bool checked = false ) [signal]
当按钮被激活时(即当鼠标光标在按钮内时按下然后释放(,当键入快捷键时,或当调用click((或animateClick((时,会发出此信号。值得注意的是,如果调用setDown((、setChecked((或toggle((,则不会发出此信号。如果该按钮是可检查的,则如果该按钮被选中,则checked为true,如果该按钮未被选中,那么checked为false。
void QAbstractButton::toggled ( bool checked ) [signal]
每当可检查按钮改变其状态时,就会发出此信号。如果选中了按钮,则checked为true;如果未选中按钮,则为false。这可能是用户操作、单击((插槽激活的结果,也可能是因为调用了setChecked((。在发出该信号之前,独占按钮组中的按钮的状态将被更新。这意味着插槽可以作用于状态发生变化的组中按钮发出的"关闭"信号或"打开"信号。例如,可以使用以下模式来实现对新检查按钮发出的信号做出反应但忽略未检查按钮发出信号的插槽:
void MyWidget::reactToToggle(bool checked)
{
if (checked) {
// Examine the new button states.
...
}
}
http://qt-project.org/doc/qt-4.8/qcheckbox.html
QCheckBox::toggled(bool)
当复选框更改其状态时发出,无论是通过单击它还是使用setChecked
或toggle
等。
QCheckBox::clicked(bool)
单击复选框时发出。也就是说,当用户单击并释放复选框时。当键入快捷键或使用click
时也会发生这种情况。复选框不一定必须是可勾选的才能发出。
如果您正在侦听复选框的状态何时更改,请使用toggled
。如果您正在侦听用户单击复选框的时间,无论该复选框是否更改状态,请使用clicked
。
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 警告处理为错误这里有什么问题
- 什么时候调用组成单元对象的析构函数
- #定义c-预处理器常量..我做错了什么
- 努力将整数转换为链表。不知道我在这里做错了什么
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 什么时候在C++中返回常量引用是个好主意
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- C++避免重复声明的语法是什么
- c++库的公共头文件中应该包含什么
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 有什么方法可以遍历结构吗
- 当类在C++中定义时,有什么方法可以"register"类吗?
- ifstream什么都没读
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- C++从另一个类访问公共静态向量的正确方法是什么
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- 我应该使用什么来代替void作为变体中的替代类型之一
- QCheckBox::toggled()和QCheckBox::clicked()之间有什么区别