码迷,mamicode.com
首页 > 其他好文 > 详细

Qt QpushButton 实现长按下功能

时间:2018-06-09 13:17:06      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:color   建议   connect   定时器   变量   需要   art   cli   main   

最近做项目需要一个按钮具备长时间按下的功能,才发现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 实现长按下功能

标签:color   建议   connect   定时器   变量   需要   art   cli   main   

原文地址:https://www.cnblogs.com/DreamDog/p/9158862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!