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