是否有Qt(我使用Qt 4.7.1)小部件在按下时发出信号(第一次不是一个)并在用户释放鼠标时停止?像标准间隔中的mousedown事件? 或者我必须用qtimer实现这个? 感谢
答案 0 :(得分:4)
查看QAbstractButton::autoRepeat和autoRepeatInterval。它应该是您所需要的,并且可用于所有按钮。
答案 1 :(得分:0)
在用户释放鼠标之前,您必须实现触发事件的内容。
我建议你创建一个连接到按钮事件的处理程序类,它根据你的观察者的喜好触发自定义事件。
答案 2 :(得分:0)
据我所知,没有这样的按钮小部件。 QPushButton
的{{1}}应该按你想要的那样做。但是,QPushButton::pressed()
和QPushButton::released()
信号不能满足您的需求吗?
无论如何,你所描述的内容非常容易(并且冗余,因为它已经存在)来实现,将QTimer::timeout()
信号连接到你想要的信号,然后在autoRepeat
上启动计时器发信号并在pressed()
信号上停止:)
编辑:正如评论中所指出的那样,有一个内置解决方案,即将autoRepeat
继承的QAbstractButton
属性设置为released()
。
您可以通过调整autoRepeatDelay
和autoRepeatInterval
来自定义初始延迟和间隔。