Qt 碳元素、硅元素和显示窗口
我有一个Carbon LSUIElement应用程序,它在后台运行(可能在菜单栏中有一个图标,取决于pref),偶尔需要向用户显示一个对话框——有时是响应用户事件,有时是响应后台任务失败或类似情况 (我使用的是Qt4.5,因此应用程序是基于碳的;使用Qt4.6时,事情将基于可可粉,但听起来问题可能也存在) 问题是,当我打开一个窗口并展示它时,它不会被带到前面。我认为这是作为一个LSUIElement应用程序的一个特效。Qt使用碳纤维的SelectWindow和可可色的[MakeKeyandDerfront]将窗口(和应用程序)置于前端 为了解决这个问题,我尝试直接访问窗口服务器:(前几个步骤是获取WindowID,使用Qt-Cocoa会更简单,因为我可以使用NSWindow:nativeWindow)Qt 碳元素、硅元素和显示窗口,qt,macos-carbon,Qt,Macos Carbon,我有一个Carbon LSUIElement应用程序,它在后台运行(可能在菜单栏中有一个图标,取决于pref),偶尔需要向用户显示一个对话框——有时是响应用户事件,有时是响应后台任务失败或类似情况 (我使用的是Qt4.5,因此应用程序是基于碳的;使用Qt4.6时,事情将基于可可粉,但听起来问题可能也存在) 问题是,当我打开一个窗口并展示它时,它不会被带到前面。我认为这是作为一个LSUIElement应用程序的一个特效。Qt使用碳纤维的SelectWindow和可可色的[MakeKeyandDer
这是可行的——窗口在前面,但没有突出显示或键盘聚焦。是否有其他步骤来解决这些问题,或者整个问题是否有更简单的解决方案?使用SetFrontProcessWithOptions将窗口置于其他应用之前。使用SetFrontProcessWithOptions将窗口置于其他应用之前。尝试:
[NSApp activateIgnoringOtherApps: YES]
尝试:
[NSApp activateIgnoringOtherApps: YES]