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时.就会执行对应的逻辑了.

 

posted @ 2020-08-20 18:36  Freedom-萱  阅读(2336)  评论(0编辑  收藏  举报