1.信号区别
pressed 当鼠标指针在按钮上并按下左键时触发该信号
released 当鼠标左键被释放时触发该信号
clicked 当鼠标左键被按下然后释放时,或者快捷键被释放时触发该信号
clicked[bool] 当按钮被第一次按下然后释放时发出信号,并将当前状态传递给外界
toggled[bool] 按钮的状态发生变化时发出信号,并将当前状态传递给外界
toggled 当按钮的标记状态发生改变时触发信号
2. setAutoExclusive(true)
效果:同一父部件的可选中按钮任何时候只能选中一个按钮。选中之后再重复点击就没有第一次点击时的效果了,这个时候我们可以采用下面的方式解决:
if(pushbuttonName->isChecked())
{
pushbuttonName->setAutoExclusive(false);
pushbuttonName->setChecked(false);
pushbuttonName->setAutoExclusive(true);
}
3. checkable
选中checkable之后,button按钮变成了切换按钮(toggle button),此时信号可以使用toggled(bool),按钮有“按下”(checked)和“弹起”(unchecked)两种状态,如果设置了setAutoExclusive(true),点击完之后状态就确定了,再点击就没有效果了。