【发布时间】:2014-10-17 11:46:22
【问题描述】:
我有一个QPushButton 连接到pressed() 信号,并设置autoRepeat=true。
单击(使用鼠标)按钮会更新一个数字,并且当您单击并按住它时会重复。
这适用于鼠标。单击步骤一次,单击并按住重复它。使用触摸屏进行简单的点击可以正常工作,但不会在“点击并按住”时重复。
我曾尝试在 Windows 8 中禁用“点击并按住右键单击”设置,但这并没有帮助。它只会阻止发生右键单击。
如果我点击 QPushButton 并将手指从按钮上移开(同时仍然按住),然后将手指移回 QPushButton 的工作区,则按下()事件将开始自动重复。
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;
}
【问题讨论】:
-
您是否尝试过使用
Qt::TapAndHoldGesture?
标签: c++ qt windows-8 touch multi-touch