如何在OSX中执行时强制Qt应用程序成为活动/前台窗口
How to force a Qt Application to be the active/foreground window upon execution in OSX?
我正在浏览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自身,它将按预期工作 - 你的子应用程序在上面。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- Qt将给定的密钥发送到活动应用程序
- 在基于Visual Studio MFC的应用程序中禁用活动处理程序
- 当应用程序变为活动/非活动状态时获取通知
- 如何在OSX中执行时强制Qt应用程序成为活动/前台窗口
- 在黑莓10应用程序中获取活动导航页面
- 如果 DEP 处于活动状态,则迁移的应用程序崩溃
- 创建应用程序时记录应用程序的活动,并使用 Visual Studio C++进行测试
- 使用JNI调用或使用Openfeint更改活动会导致应用程序崩溃
- 如何在c++应用程序中模拟高存储活动
- 如何启动MFC SDI应用程序处于非活动状态
- 错误MSB6006当建立本机活动应用程序英特尔INDE