首页 > 解决方案 > PySide2 将鼠标事件传递给系统

问题描述

我正在使用QDialog启用透明度来为屏幕捕获工具选择屏幕区域。当用户在透明小部件内单击时,我想忽略鼠标事件以便系统处理它。这可能吗?

我正在尝试在 Linux 上实现这一目标。

我尝试过的一些事情没有成功:

标签: pythonpyside2qmouseevent

解决方案


您必须使用该标志X11BypassWindowManagerHint,以便省略旁边的窗口管理器,WindowTransparentForInput以便系统知道它只需要显示窗口但不会通知您有关输入的信息。

w.setWindowFlags(w.windowFlags() | 
    QtCore.Qt.WindowTransparentForInput | 
    QtCore.Qt.X11BypassWindowManagerHint)

推荐阅读