首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt按键长按效能的实现

2012-12-22 
qt按键长按功能的实现qt中如何实现按键长按功能:在按键按下不松,实现自己想要的功能。keypressevent功能是

qt按键长按功能的实现
qt中如何实现按键长按功能:在按键按下不松,实现自己想要的功能。keypressevent功能是按下就响应。我想按下后一段时间才响应。
[最优解释]
setAutoRepeat ( bool )
setAutoRepeatDelay ( int )
setAutoRepeatInterval ( int )
这有QPushButton的三个函数,
setAutoRepeat (true);
setAutoRepeatDelay ( 你需要的时间如:1000(ms) )
setAutoRepeatInterval (100000)

[其他解释]
补充一下楼上的。
button的clicked信号其实是融合了两个信号,楼主要实现这样的功能的话,最好不要使用这个信号
button还有两个信号,分别是pressed 和released,pressed 触发的时候,启动一个定时器,一直按住超时的话执行你要的操作,但是如果还没到时间就松开时收到了released信号,就要停止定时器,不响应你要的操作
[其他解释]
按下后,启动一个定时器,在超时槽函数中实现自己想要的功能。
[其他解释]
同意楼上的观点,可以在pressed事件中触发另外一个SIGNAL
这个SIGNAL与一个定时器做绑定 在定时器里判定超时时间是否到了
[其他解释]
从按下开始计时、然后弹起的时候判断这个时间到了吗?
到了就在弹起的时候执行你的action
[其他解释]
接上贴:
正常用clicked信号
[其他解释]

引用:
setAutoRepeat ( bool )
setAutoRepeatDelay ( int )
setAutoRepeatInterval ( int )
这有QPushButton的三个函数,
setAutoRepeat (true);
setAutoRepeatDelay ( 你需要的时间如:1000(ms) )
setAutoRepeatInterval (100000)
……


嗯~这些api可以搞定
[其他解释]
引用:
引用:setAutoRepeat ( bool )
setAutoRepeatDelay ( int )
setAutoRepeatInterval ( int )
这有QPushButton的三个函数,
setAutoRepeat (true);
setAutoRepeatDelay ( 你需要的时间如:1000(ms) )
se……
[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/12.gif]

学习了[/img]

热点排行