gpt4 book ai didi

windows - 当应用程序没有焦点时禁用 Qt 鼠标事件

转载 作者:可可西里 更新时间:2023-11-01 11:57:36 24 4
gpt4 key购买 nike

我有一个 Qt (4.7) Windows 7 应用程序,其中某些组件对 QEvent::HoverEnterQEvent::HoverLeaveQEvent::HoverMove 作出 react , QEvent::MouseMove 事件。当显示主应用程序窗口但没有焦点时,我想忽略这些事件。

例如,假设我有两个并排的窗口:我的主应用程序窗口和一个 Web 浏览器窗口。如果我在浏览器窗口上单击鼠标左键,浏览器就会获得焦点。如果我现在将鼠标指针移到我的主应用程序窗口上而不点击它,我不希望应用程序使用react。当前行为是我的应用程序接收鼠标事件并对其使用react(打开菜单等)。

由于我的主类MyApplication 派生自QtSingleApplication,所以我想重写该方法

virtual bool MyApplication::notify(QObject* receiver, QEvent* event)

并添加一个测试,以便在我的应用程序没有任何具有焦点的窗口时我可以忽略特定事件。有没有办法在 Qt 中验证这种情况?

最佳答案

您可以使用QApplication::activeWindow(),如果您的应用程序未获得焦点,它将返回零指针。

关于windows - 当应用程序没有焦点时禁用 Qt 鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13804267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com