应用程序始终位于顶部,不关注 mac os x

发布于 2024-12-09 10:27:21 字数 538 浏览 0 评论 0原文

我正在尝试纠正 Qt 应用程序上的一些错误,将其从 Snow Leopard 移植到 Lion。在以前的 Mac OS X 版本(Leopard、Snow Leopard)上,我成功地让我的应用程序始终位于最上面,让焦点集中到之前选择的应用程序上。

它与 Mac OS X 系统可用输入法中的“键盘查看器”具有相同的行为。为此,我通过 macEventFilter(EventHandlerCallRef caller, EventRef event) 过滤发送到我的应用程序的事件在我的应用程序上接收鼠标按下事件时,使用了通过 extern void Q_GUI_EXPORT 访问的 qt_mac_set_raise_process(false) 。我的窗口属性如下:widget->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint)。我尝试添加 Qt::Tool 属性,但没有得到我所拥有的。

有人做过这个吗?

谢谢

I'm trying to correct some bugs on my Qt application porting it from Snow Leopard to Lion. On previous Mac OS X versions (Leopard, Snow Leopard) I succeed having my application always on top letting the focus to the previously selected application.

It had the same behavior as the "Keyboard Viewer" in the system available Input Methods of Mac OS X. For this I filtered the events sent to my app through the macEventFilter(EventHandlerCallRef caller, EventRef event) and used the qt_mac_set_raise_process(false) accessed through extern void Q_GUI_EXPORT when receiving a mouse down event on my app. My window attributes are the following ones: widget->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint). I tried adding Qt::Tool attribute but did not get what I had.

Anyone did this ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文