gpt4 book ai didi

c++ - 如何强制 Qt 应用程序在 OSX 中执行时成为事件/前景窗口?

转载 作者:太空狗 更新时间:2023-10-29 23:19:01 25 4
gpt4 key购买 nike

我正在学习 OSX 上的 Qt 教程。我注意到的一件事是,当我启动可执行文件(例如按钮 hello world 示例)时,该应用程序将作为后台窗口启动,我必须切换任务以将其置于前台。如何在执行时强制 Qt 应用程序窗口成为前台窗口?

我想这样做,因为这是大多数应用程序的行为方式,更不用说手动切换任务会减慢我的编辑-编译-运行-调试周期。

最佳答案

您观察到的行为是由于在调试器下使用 ⌘-Y 启动应用程序时与调试器交互所致。如果您简单地使用 ⌘-R 运行它,它的行为与您预期的一样。您的应用程序本身没问题。

通过直接从终端的应用程序包中启动可执行文件来启动 OS X 应用程序将类似于使用 ⌘-Y 运行它们——它们都在后台启动。 Qt 可能在模仿 Finder 在通过 ⌘-R 启动进程时所做的任何魔法——所说的魔法可能会简化为简单地将子应用程序带到前台。 OS X 上的 gdb 并不是那么“聪明”,这可能是有充分理由的。

OS X 的方法是更加努力地尝试不窃取焦点——恕我直言,这是一件好事。

如果您只想运行 应用程序,而不是调试它,那么修改您的启动命令,使其看起来像 open -a '/Users/daj/foo/bar/baz.app ',其中 baz.app 是应用程序包文件夹。不要附加尾部斜线。

如果您可以引导调试器跟踪子进程,那么您当然可以在 gdb 下启动 open 本身,它会按预期工作——您的子应用程序位于顶部。

关于c++ - 如何强制 Qt 应用程序在 OSX 中执行时成为事件/前景窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11146815/

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