Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 触摸屏双击直接跳到下一个屏幕_C++_Qt_Touch - Fatal编程技术网

C++ 触摸屏双击直接跳到下一个屏幕

C++ 触摸屏双击直接跳到下一个屏幕,c++,qt,touch,C++,Qt,Touch,我正在SBC6000x板上开发Qt应用程序(Qt版本4.7.3)。我使用tslib作为触摸屏 我有两个屏幕,在同一位置有两个按钮。当点击(触摸)第一屏上的按钮时,它进入第二屏。如果我双击第一个屏幕上的按钮,它会记录两个触摸事件。第一次触摸进入第二屏,第二次触摸在第二屏上进行,第三屏显示 所以在第一屏上双击,我直接跳到第三屏。我想禁止第二次接触 以下是我试过的东西 我试图在tslib中更改去盎司时间,但无法获得足够的信息 禁用第二个屏幕上的按钮,在屏幕加载时启用它们 第二种方法的问题: 我没有在运

我正在SBC6000x板上开发Qt应用程序(Qt版本4.7.3)。我使用tslib作为触摸屏

我有两个屏幕,在同一位置有两个按钮。当点击(触摸)第一屏上的按钮时,它进入第二屏。如果我双击第一个屏幕上的按钮,它会记录两个触摸事件。第一次触摸进入第二屏,第二次触摸在第二屏上进行,第三屏显示

所以在第一屏上双击,我直接跳到第三屏。我想禁止第二次接触

以下是我试过的东西

  • 我试图在tslib中更改去盎司时间,但无法获得足够的信息
  • 禁用第二个屏幕上的按钮,在屏幕加载时启用它们
  • 第二种方法的问题: 我没有在运行时创建屏幕,我有一个屏幕数组。如果我在show()方法中启用按钮,我必须在某个地方禁用它们。我应该用什么方法禁用它们

    在显示第二个屏幕时,我不是在第一个屏幕上调用close()或hide(),而是在第二个屏幕上只调用show()。因此,我无法禁用closeEvent或hideEvent()中的按钮(因为我根本没有这些方法)


    我该怎么处理?欢迎任何帮助。

    您需要。它将允许您跟踪正在发生的任何事件(如点击),并覆盖自定义行为的默认行为。它的范围非常广泛,因此很难给您提供大量信息,但您可能需要了解它是如何处理来自鼠标事件的按钮单击的,因为没有特定于触摸的事件。

    当单击按钮时,而不是调用
    myScreen->show()
    调用自定义方法,例如
    myScreen->showWithDelayedButton()
    它的作用大致如下:

    MyScreen::showWithDelayedButton() {
        myButton->hide();
        QTimer::singleShot(250, myButton, SLOT(show));
        show();
    }
    

    我试图重写event()函数。在绘制事件和隐藏事件时,我尝试了第二种方法中提到的逻辑(因为绘制是屏幕加载过程中发生的最后一件事)。但即使在第二次触摸中,也会注册并执行操作。从技术上讲,UI已加载,但用户看不到(因为刷新速度慢、显示缓冲区问题等)因此提供第二次触摸。明确用户在哪个屏幕上,并提供后退按钮?