Qt QpushButton 实现长按下功能

xiaoxiao2021-02-28  39

最近做项目需要一个按钮具备长时间按下的功能,才发现Qt原始的按钮是没有这个功能,不过Qt的原生按钮是存在按下和释放信号的,有了这两个信号,再来实现按钮长时间被按下,这就简单了,看下动画演示。

录成GIF效果不咋明显了。其实我实现按钮长时间被按下就是增加的定时器,当按钮被按下时,激活定时器,并每隔一段时间出发clicked事件,这样就差不多实现了这个功能。

看下代码

/* * +号按下 */ void MainWindow::on_pushButton_4_pressed() { if(!timer1) { timer1 = new QTimer(); connect(timer1,&QTimer::timeout,this,&MainWindow::on_pushButton_4_clicked); } timer1->start(100); } /* * 加号释放 */ void MainWindow::on_pushButton_4_released() { timer1->stop(); }

这里请大家忽略我的命名,这个程序简单到功能只有一个,所有直接使用了Qt生成的名字。不过在正式的开发中,还是建议给每一个变量起一个有意义的明细,这样你好我好大家好。

以上就是今天的内容。

DreamLife. 认证博客专家 嵌入式软件开发 桌面软件开发 软件定制 ◔.̮◔因为心中有梦,所以暗里有光,遥遥无期,那又怎样,踮起脚尖,就更接近阳光。☆.。.:*・°☆.。.:*・°☆.。.:*・°☆.。.:*
转载请注明原文地址: https://www.6miu.com/read-2628085.html

最新回复(0)