Qt QpushButton 实现长按下功能
Posted dreamdog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt QpushButton 实现长按下功能相关的知识,希望对你有一定的参考价值。
最近做项目需要一个按钮具备长时间按下的功能,才发现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生成的名字。不过在正式的开发中,还是建议给每一个变量起一个有意义的明细,这样你好我好大家好。
以上就是今天的内容。
以上是关于Qt QpushButton 实现长按下功能的主要内容,如果未能解决你的问题,请参考以下文章
Qt - 我有一个 QPushButton QVector,哪个被按下了?