我有一个要添加触摸支持的应用程序,但是由于使用了过时的Linux内核,因此对触摸屏的支持有限,因此,我需要在应用程序中实现自己的驱动程序以读取原始事件数据并生成事件以模拟触摸。我在很大程度上取得了成功,但是某些组件的反应异常。
当前,我正在通过生成鼠标按下,释放和移动事件并将它们分派到使用QApplication::widgetAt()
和QApplication::postEvent()
触摸到的位置的小部件来模拟单点触摸。这对于没有问题的按钮组件有效,但是我注意到,当我点击它时,我们在应用程序开头用于登录表单的QLineEdit组件没有响应。我知道事件正在生成,因为我可以点击同一表单上的按钮。
关于QLineEdit的事件处理程序功能的行为,是否有任何特定原因会导致这种行为?是否需要在组件本身上设置属性?