在Qt 5.5中,触摸屏事件对于Child对话框/小部件无法正常工作

时间:2017-10-23 11:11:16

标签: qt5

我面临一个非常奇怪的问题,我有一个运行QMainwindow的标准桌面应用程序,以及来自QMainwindow的buttonpress事件中弹出的某些辅助对话框和小部件。

最近,我不得不在触摸屏系统上运行此应用程序。

现在我面临一个非常奇怪的问题,我的触摸屏正在处理QMainwindow按钮,收音机,复选框等,但它不适用于某些对话框,它适用于某些其他对话框。

通常Qt处理与应用程序交互的键盘和鼠标interface(Events),我知道应用程序属性Qt::AA_SynthesizeMouseForUnhandledTouchEvents默认设置为true

这不能正常工作吗? Qt无法将触摸事件合成为鼠标事件吗?

我的系统运行在最小安装Ubuntu 16.04 64位和Qt 5.5 opensource SDK上。我一直在解决这个问题几天没有全面的解决方案。任何帮助或任何领导都很赞赏。谢谢!

P.S:I believe this kind of issue is already faced by others

1 个答案:

答案 0 :(得分:0)

最后,我能够破解这个谜团。实际上,事情是QMainwindow或您的应用程序的任何基本Widget能够正确地将未处理的触摸屏事件合成到鼠标事件。因此,无论何时创建对话框/窗口小部件,请确保将Mainwindow设置为父窗口,并在子窗口小部件的构造函数中使用setParent(parent)。像我的欢呼一样欢呼!