qt按键长按功能的实现

笑笑小懒猪 2012-11-02 03:34:09
qt中如何实现按键长按功能:在按键按下不松,实现自己想要的功能。keypressevent功能是按下就响应。我想按下后一段时间才响应。
...全文
1590 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SilenceSu 2012-11-07
  • 打赏
  • 举报
回复
从按下开始计时、然后弹起的时候判断这个时间到了吗? 到了就在弹起的时候执行你的action
yfx2003 2012-11-07
  • 打赏
  • 举报
回复
引用 7 楼 myseemydog 的回复:
引用 5 楼 jdwx1 的回复:setAutoRepeat ( bool ) setAutoRepeatDelay ( int ) setAutoRepeatInterval ( int ) 这有QPushButton的三个函数, setAutoRepeat (true); setAutoRepeatDelay ( 你需要的时间如:1000(ms) ) se……
[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/12.gif] 学习了[/img]
myseemydog 2012-11-07
  • 打赏
  • 举报
回复
引用 5 楼 jdwx1 的回复:
setAutoRepeat ( bool ) setAutoRepeatDelay ( int ) setAutoRepeatInterval ( int ) 这有QPushButton的三个函数, setAutoRepeat (true); setAutoRepeatDelay ( 你需要的时间如:1000(ms) ) setAutoRepeatInterval (100000) ……
嗯~这些api可以搞定
jdwx 2012-11-07
  • 打赏
  • 举报
回复
接上贴: 正常用clicked信号
jdwx 2012-11-07
  • 打赏
  • 举报
回复
setAutoRepeat ( bool ) setAutoRepeatDelay ( int ) setAutoRepeatInterval ( int ) 这有QPushButton的三个函数, setAutoRepeat (true); setAutoRepeatDelay ( 你需要的时间如:1000(ms) ) setAutoRepeatInterval (100000)
乔巴好萌 2012-11-04
  • 打赏
  • 举报
回复
同意楼上的观点,可以在pressed事件中触发另外一个SIGNAL 这个SIGNAL与一个定时器做绑定 在定时器里判定超时时间是否到了
我是学友 2012-11-02
  • 打赏
  • 举报
回复
补充一下楼上的。
button的clicked信号其实是融合了两个信号,楼主要实现这样的功能的话,最好不要使用这个信号
button还有两个信号,分别是pressed 和released,pressed 触发的时候,启动一个定时器,一直按住超时的话执行你要的操作,但是如果还没到时间就松开时收到了released信号,就要停止定时器,不响应你要的操作
风为裳のCode 2012-11-02
  • 打赏
  • 举报
回复
按下后,启动一个定时器,在超时槽函数中实现自己想要的功能。

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧