Qt5中的QpushButton提供了许多槽函数,其中pressed和released这两个槽函数组合起来可以实现按键测长按下实现某个功能。
实现原理是:定义一个定时器timer,编写一个函数实现你在长按时希望实现的功能,连接timer的超时信号与你写的函数,当按下按键触发pressed,在该槽函数下开启定时器timer->start,当松开按键触发released,在该槽函数下关闭定时器timer->stop,这样一来就实现了长按的功能,具体代码如下:
QTimer *timer = new QTimer;
connect(timer,SIGNAL(timeout()),this,SLOT(window_down())); //window_down为你自己编写的功能函数
void main_interface::on_window_up_pressed()
{
up_timer->start(20);
}
void main_interface::on_window_up_released()
{
up_timer->stop();
}
本文介绍如何在Qt5中使用QPushButton的pressed和released信号结合QTimer实现按钮的长按功能。通过启动和停止定时器,可在长按时执行特定功能。
1339

被折叠的 条评论
为什么被折叠?



