두 가지 작업을 수행하는 QPushButton이 있습니다. autoRepeat를 통한 호출을 포함하여 버튼을 누른 슬롯이 호출 될 때마다 하나의 액션이 발생해야합니다. 두 번째 작업은 버튼을 처음 눌렀을 때 시작되어 더 이상 사용자가 누르고 있지 않을 때만 끝나야합니다.QPushButton의 해제 된 신호가 자동 반복 또는 실제 마우스 해제의 결과인지 확인하는 방법
문제는 autoRepeat가 버튼의 눌렀다가 놓은 신호를 트리거한다는 것입니다. 그 결과 두 번째 작업이 끝나고 버튼을 누르고있는 동안 지속되는 대신 모든 반복에서 다시 시작됩니다. 기존의 눌렀다 놓은 슬롯 만 사용하여 버튼이 실제로 사용자에 의해 해제되었는지 어떻게 확인할 수 있습니까?
예제 코드 :
void MyClass::on_button_pressed()
{
startHeldAction();
doRepeatedAction();
}
void MyClass::on_button_released()
{
stopHeldAction();
}