【发布时间】:2016-10-12 15:50:53
【问题描述】:
我有一个执行两个操作的 QPushButton。每次调用按钮的按下槽时都应执行一项操作,包括通过 autoRepeat 进行的调用。第二个动作应该在第一次按下按钮时开始执行,并且仅在用户不再按住按钮时结束。
问题在于 autoRepeat 会触发按钮的按下、释放和点击信号。这会导致第二个动作在每次重复时结束并重新开始,而不是在按住按钮期间持续存在。如何确定用户是否仅使用现有的按下和释放插槽实际释放了按钮?
示例代码:
void MyClass::on_button_pressed()
{
startHeldAction();
doRepeatedAction();
}
void MyClass::on_button_released()
{
stopHeldAction();
}
【问题讨论】: