触摸屏双击直接跳转到下一个屏幕
Touch screen double tap directly jumps to next to next screen
我正在SBC6000x板上开发Qt应用程序(Qt版本4.7.3)。我正在使用tslib触摸屏。
我有两个屏幕,两个按钮在同一位置。当点击(触摸)第一个屏幕上的按钮时,它会转到第二个屏幕。如果我双击第一个屏幕上的按钮,它会注册2个触摸事件。第一次触摸它会转到第二个屏幕,第二个触摸在第二个屏幕上处理,第三个屏幕显示。
所以双击第一个屏幕,我直接跳转到第三个屏幕。我想禁止第二次触摸。
这些是我尝试过的东西。
- 我在tslib中寻找改变debounce time,但无法获得足够的信息。
- 在第二个屏幕上禁用按钮,当屏幕加载时启用。
第二种方法的问题:我没有在运行时创建屏幕,我有一个屏幕数组。如果我在show()方法中启用按钮,我必须在某个地方禁用它们。我应该用什么方法禁用它们?
在显示第二屏幕时,我没有在第一屏幕上调用close()或hide(),我只调用show()到第二屏幕。所以我不能禁用closeEvent或hideEvent()中的按钮(因为我根本没有这些方法)
我该如何处理?欢迎任何帮助
您需要使用Qt的Event系统。它将允许你跟踪任何正在发生的事件(比如点击),并为你的自定义行为覆盖默认行为。它的范围很广,所以很难给你很多信息,但你可能需要看看它是如何处理来自鼠标事件的按钮点击的,因为没有特定的触摸事件。
当一个按钮被点击,而不是调用myScreen->show()
调用一个自定义方法,例如myScreen->showWithDelayedButton()
,它做的事情沿着行:
MyScreen::showWithDelayedButton() {
myButton->hide();
QTimer::singleShot(250, myButton, SLOT(show));
show();
}
相关文章:
- 重新定位图像时如何前进到下一个内存块
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- CIN 仅在输入非数字值时跳过下一个 CIN
- 查找最小的下一个更大的元素
- 转到基于范围的 for 循环中的下一个迭代器
- 如何检查流中文件的下一个单词是否为 alpha?
- 如何打印下一个字母直到 Z 并继续到 A?
- 在使用堆栈为下一个最大数字编写代码时面临 SIGSEGV(分段错误)
- 使用一个内存集数组和单个堆栈在 O(n) 中查找数组的下一个更大元素
- 有没有一种标准方法可以在C++中获取第 n 个"下一个"浮点值
- 下一个云桌面客户端构建过程
- C++自定义流操纵器,用于更改流上的下一个字符串
- 链表指针赋值为什么我们不能直接将尾巴分配给 temp 而不是尾巴>尾巴下一个
- 下一个排列定义
- 查找下一个具有真值C++的数组索引
- 如何比较文件中包含的下一个字符
- 检查IP是否在其他IP网络范围内,并查找下一个可用IP
- 从Qt快速控件加载下一个屏幕/应用程序窗口
- 触摸屏双击直接跳转到下一个屏幕