【问题标题】:Application won't quit from dock icon, quits qt instead应用程序不会从停靠图标退出,而是退出 qt
【发布时间】:2012-04-23 20:14:50
【问题描述】:

我在应用程序的插件中使用 Qt。自从将 Qt 从 4.3.4 升级到 4.6.4 carbon 之后,Qt 似乎想要控制应用程序。为了重新获得菜单,我已经完成了

qApp->setAttribute(Qt::AA_MacPluginApplication,true);

但是,当我尝试从停靠图标关闭应用程序时,Qt 会退出而不是应用程序。

如何纠正?

附加信息: - 从码头显示/隐藏按预期工作。 - ⌘Q 退出本机应用程序(如预期) - 从菜单退出退出本机应用程序(如预期) - Qt 4.6.4 cocoa 也有同样的问题。

【问题讨论】:

    标签: macos qt acrobat


    【解决方案1】:

    这是 4.6 中引入的 Qt 错误。 https://bugreports.qt-project.org/browse/QTBUG-8087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

    幸运的是,有解决方法。

    long refCon = 0;
    AEEventHandlerUPP handler = NULL;
    AEGetEventHandler(kCoreEventClass, kAEQuitApplication, &handler, &refCon, false);
    
    QApplication::setAttribute(Qt::AA_MacPluginApplication, true);
    int argc = 0;
    (void)new QApplication(argc, 0, true);
    
    if (handler)
    {
        AEInstallEventHandler(kCoreEventClass, kAEQuitApplication, handler, refCon, false);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 2019-11-24
      • 2014-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多