gpt4 book ai didi

cocoa - NSWindow 未激活

转载 作者:行者123 更新时间:2023-12-03 16:21:46 24 4
gpt4 key购买 nike

我在后台运行的辅助工具中创建了一个窗口(它不是带有 .nibInfo.plist 的应用程序包,而是一个普通的可执行文件) 。调用 -makeKeyAndOrderFront: 时,会显示窗口,但不会像事件窗口那样“弹出”。

这个问题可以解决吗?

问候,埃里克

最佳答案

您应该将辅助工具包装为至少包含 Info.plist 的常规 .app 包。然后问题就消失了。 OS X 中的 GUI 应用程序需要有 Info.plist 才能正确接收事件。

如果不在应用程序包中,GUI 应用程序的行为不端的方式对我来说一直不清楚。如果我没记错的话,它会随着时间的推移而改变,具体取决于 OS X 的版本。我认为它在以前版本的 OS X 中表现更差。例如,显示了窗口,但我无法单击其中的任何 UI。

许多在跨平台工具包中编译程序的人都遇到过这个问题,请参阅例如this discussion here在 WxWidgets wiki 中。显然,OS X 不会将 .app bundle 之外的程序标记为前台应用程序,这会导致您的问题。您可以使用TransformProcessType从不在 .app 包内的二进制文件中创建一个可前台的应用程序来解决您的问题,但这不是此函数的记录/预期用法。

因此,只需将其包装在 .app 包中即可。

更新:

此“前景能力”由应用程序的 activationPolicy 控制,请参阅 this doc on NSApplication.找到信息this post on Cocoa with love.

关于cocoa - NSWindow 未激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3747715/

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