qt 按鈕長按實現


qt按鈕自帶長按檢測.但是並沒有對應的槽.

按鈕默認長按是關閉的.

界面上面設置是這樣的:

 

 

 

 代碼設置如下:

ui->toolButton_exit->setAutoRepeat(true);

ui->toolButton_exit->setAutoRepeatDelay(1000);

ui->toolButton_exit->setAutoRepeatInterval(100);

然后自己建一個成員變量

int test = 0;

將按鈕單擊事件鏈接

connect(ui->toolButton_exit,&QToolButton::clicked,[&]{

           test +=1;
           if(test >3){
               test = 0;
               this->close();
           }else {
               return ;
           }
       });

 

 

或者從設計界面點擊過來實現跟lambda表達式里面一樣;當長按事件大於3*1000 也就是3s時.就會執行對應的邏輯了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM