【发布时间】:2014-09-12 15:15:11
【问题描述】:
我有一个顶级的无父QWidget,除此之外我还有一堆其他的QWidgets(例如QPushButtons)。我想让我的QWidget 表现得对鼠标事件是透明的。因此,当我单击QWidget(但不是我的按钮)时,我希望我的窗口失去焦点并选择后面的某些内容(例如,Windows 资源管理器窗口,如果它恰好在我的窗口后面)。我还希望我的QPushButtons 继续处理鼠标事件。
这可能吗?我尝试在小部件上设置 Qt::WA_TranslucentBackground 和 Qt::WA_TransparentForMouseEvents 但如果我在其上绘制一些东西,例如QGraphicsDropShadowEffect 小部件仍然在 QGraphicsDropShadowEffect 绘制的部分上处理鼠标单击事件。
这可能吗?
问候!
【问题讨论】:
-
这是什么版本的 Qt,什么平台?上次我检查时,
WA_TransparentForMouseEvents仅在小部件层次结构中起作用,不会将任何鼠标事件“传回”给操作系统。
标签: qt qt5 qwidget qevent qmouseevent