C++ “捕捉问题”;轻触并按住“;QT中QPushButton上的触摸事件
我有一个C++ “捕捉问题”;轻触并按住“;QT中QPushButton上的触摸事件,c++,qt,windows-8,touch,multi-touch,C++,Qt,Windows 8,Touch,Multi Touch,我有一个QPushButton,在那里我连接到pressed()信号,并设置autoRepeat=true 当单击(使用鼠标)时,该按钮会更新一个数字,当您单击并按住该按钮时,它会重复 这对鼠标很好。单击步骤一次,单击并按住可重复该步骤。使用触摸屏时,简单的点击可以正常工作,但在“点击并按住”时不会重复 我曾尝试在Windows8中禁用“点击并按住鼠标右键单击”设置,但没有帮助。它只会阻止右键单击的发生 如果我轻触QPushButton并将手指从按钮上移开(同时仍保持按住),然后将手指移回QPu
QPushButton
,在那里我连接到pressed()
信号,并设置autoRepeat=true
当单击(使用鼠标)时,该按钮会更新一个数字,当您单击并按住该按钮时,它会重复
这对鼠标很好。单击步骤一次,单击并按住可重复该步骤。使用触摸屏时,简单的点击可以正常工作,但在“点击并按住”时不会重复
我曾尝试在Windows8中禁用“点击并按住鼠标右键单击”设置,但没有帮助。它只会阻止右键单击的发生
如果我轻触QPushButton并将手指从按钮上移开(同时仍保持按住),然后将手指移回QPushButton工作状态,则pressed()事件将开始自动重复
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>
void MyPanel::UpAction()
{
myNumber += 1;
}
别忘了看一下官方文件--。在那里,您可以找到有关处理手势的有用信息
通过设置
抓取手势(Qt::TapandHoldspire),您忘记了抓取您的手势在QPushButton
上选择code>。启用此选项后,您的QPushButton
通过其事件开始抓取tap和保持手势。因此,您需要使用重写的event
方法从QPushButton
继承按钮类。您现在可以控制手势识别和处理的整个过程。请看一个例子 您是否尝试过使用Qt::TapandHoldship
?