❝通过简单设置QPushButton,让其获取长按触发的能力。❞
设置下列QPushButton的函数后,将启用并到达一定时间后自动重复触发。期间将发出pressed()
,released()
和clicked()
信号。
/* 启用循环触发按钮的功能。 */
setAutoRepeat(true);
/* 设置长按1000ms后触发。*/
setAutoRepeatDelay(1000);
#include <QApplication>
#include <QPushButton>
#include <QDebug>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QPushButton *button = new QPushButton("Hello world");
button->setAutoRepeat(true);
button->setAutoRepeatDelay(1000);
QObject::connect(button,
&QPushButton::clicked,
[](){
static int i = 0;
qDebug() << ">>>" << i++;
});
button->show();
return a.exec();
}