Qt5 QpushButton 實現長按功能

Qt5中的QpushButton提供了許多槽函數,其中pressed和released這兩個槽函數組合起來可以實現按鍵測長按下實現某個功能。

實現原理是:定義一個定時器timer,編寫一個函數實現你在長按時希望實現的功能,連接timer的超時信號與你寫的函數,當按下按鍵觸發pressed,在該槽函數下開啓定時器timer->start,當鬆開按鍵觸發released,在該槽函數下關閉定時器timer->stop,這樣一來就實現了長按的功能,具體代碼如下:

QTimer *timer = new QTimer;
connect(timer,SIGNAL(timeout()),this,SLOT(window_down())); //window_down爲你自己編寫的功能函數
void main_interface::on_window_up_pressed()
{
    up_timer->start(20);
}

void main_interface::on_window_up_released()
{
    up_timer->stop();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章