我有一个QPushButton,其中我已经连接到pressed()信号,并设置autoRepeat=true。
该按钮在单击(用鼠标)时更新一个数字,当您单击并按住它时,它会重复。
这对老鼠来说很好。单次单击步骤一次,单击并保持重复。简单的点击很好的使用触摸屏,但它不会重复“点击和保持”。
我已经尝试禁用Windows 8中的“点击并保持右键”设置,但这并没有帮助。它只会防止右击发生。
如果我点击QPushButton并将手指从按钮上移开(同时仍在按住),然后将手指移回QPushButton工作状态,则按下()事件将启动autoRepeating。
MyPanel.ui:
<widget class="QPushButton" name="UpButton">
<property name="text">
<string/>
</property>
<property name="autoRepeat">
<bool>true</bool>
</property>
</widget>
<connection>
<sender>UpButton</sender>
<signal>pressed()</signal>
<receiver>my_panel</receiver>
<slot>UpAction()</slot>
<hints>
<hint type="sourcelabel">
<x>40</x>
<y>261</y>
</hint>
<hint type="destinationlabel">
<x>121</x>
<y>37</y>
</hint>
</hints>
</connection>MyPanel.cpp:
void MyPanel::UpAction()
{
myNumber += 1;
}发布于 2014-12-29 22:26:20
别忘了看一下官方文档-- 手势编程。在这里,您可以找到有关处理手势的有用信息。
你忘了通过在你的上设置grabGesture(Qt::TapAndHoldGesture);来抓住的手势。当您启用此功能时,您的QPushButton将开始通过其event获取TapAndHoldGesture。因此,您需要使用过度的QPushButton方法从event继承按钮类。现在您可以控制手势识别和处理的整个过程。看看图像手势示例这个例子。
https://stackoverflow.com/questions/26424333
复制相似问题