【发布时间】:2023-12-14 09:25:01
【问题描述】:
目前,我正在尝试将系统 X11 事件(在 Linux 上)传递给我创建的对象。为此,我从我的 QApplication 将一个 eventFilter 安装到我的对象上。这很有效,因为它获取了应用程序的所有事件。但是我也需要传递对象 X11 事件。
我继续在我的对象中创建了一个 x11Event,希望它会接收来自 X11 的事件,但事实并非如此。
有没有办法在我的应用程序内部将 X11 事件直接传递给我的对象?
【问题讨论】:
-
您介意从更广泛的角度解释您要做什么吗?您的应用需要接收 X11 事件的目的是什么?
-
你的“对象”是
QDialog吗?您对QApplication::x11EventFilter的重新实现是否返回false以允许重新实现QDialog::x11Event函数也接收事件? -
@alexisdm 我的印象是,如果 x11Event 没有被 QApplication 或父小部件传递,它就无法接收 XEvent?这是正确的吗?