最近在項目中實現了一個按鈕長按之後連續動作的功能,分享給大家,對於觸摸屏操作的同學來說還是很有用的。
功能函數如下:
主要注意的事項是,設置autoRepeat屬性後,要設置動作間隔時間,否則無法生效的。
void TechSettingPanel::setRepeatMove( bool movable )
{
ui->btnCoordR->setAutoRepeat(movable);
ui->btnCoordR_2->setAutoRepeat(movable);
ui->btnCoordX->setAutoRepeat(movable);
ui->btnCoordX_2->setAutoRepeat(movable);
ui->btnCoordY->setAutoRepeat(movable);
ui->btnCoordY_2->setAutoRepeat(movable);
ui->btnCoordZ->setAutoRepeat(movable);
ui->btnCoordZ_2->setAutoRepeat(movable);
if( movable )
{
ui->btnCoordR->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordR_2->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordX->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordX_2->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordY->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordY_2->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordZ->setAutoRepeatInterval(RepeatInternal);
ui->btnCoordZ_2->setAutoRepeatInterval(RepeatInternal);
}
}