Qt如何判断长按

 时间:2026-02-17 16:05:14

1、利用Qt自带的功能autoRepeat,如果启用了autoRepeat,则当按钮关闭时,会定期发出pressed()、released()和clicked()信号。默认情况下,autoRepeat处于禁用状态。初始延迟和重复间隔由autorepeattelay和autorepeattinterval以毫秒为单位定义

Qt如何判断长按

2、设置长按多久会触发按钮的点击,如果启用了autoRepeat,则autoRepeat delay定义自动重复开始之前的初始延迟(以毫秒为单位)

Qt如何判断长按

3、设置初始延迟之后,重复发送消息的间隔,如果启用了自动重设,则自动重设间隔定义自动重复间隔的长度(以毫秒为单位)。

Qt如何判断长按

4、比如在ui界面添加一个按钮和文本显示框。并且设置了按钮的点击事件相应函数

读取文件放到显示文本里面。

Qt如何判断长按

Qt如何判断长按

5、在程序中添加 

 ui->pushButton->setAutoRepeat(true);   

ui->pushButton->setAutoRepeatDelay(1000);   

ui->pushButton->setAutoRepeatInterval(1000);

这样在你长按1秒之后 会相应点击事件,之后如果不放手会每隔1秒有一个点击事件。

Qt如何判断长按

1、鼠标的点击事件包括按下和释放,利用这个特性,继承QPushButton, 重写

   virtual void mousePressEvent(QMouseEvent* e);   

   virtual void mouseReleaseEvent(QMouseEvent* e);

鼠标的按下和释放

Qt如何判断长按

2、virtual void mousePressEvent(QMouseEvent* e)中,生成一个定时器,并且关联定时器的timeout signal 和 响应的函数,并且开始计时。

Qt如何判断长按

3、virtual void mouseReleaseEvent(QMouseEvent* e);停止定时器。这样就可以识别长按了。

Qt如何判断长按

  • 鲨鱼浏览器怎么启用自动匹配解码器
  • 怎么查询电脑里有几块硬盘?
  • Windows 7如何设置显示最后的用户名
  • 启用Win10自带数据加密器Bitlocker的设置方法
  • 泉州一日游攻略
  • 热门搜索
    爱眼手抄报简单又漂亮 二年级手抄报 党在我心中手抄报 阅读手抄报简单又漂亮 心理健康手抄报 手抄报模板 六一儿童节手抄报 儿童节手抄报 植树节手抄报简单好看 网络安全手抄报