首页 > 其他 > 详细

Qt QpushButton 实现长按下功能

时间:2018-06-09 12:24:25      阅读:360      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!