应用程序不会退出停靠栏图标,而是退出qt

时间:2012-04-23 20:14:50

标签: macos qt acrobat

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

qApp->的setAttribute(Qt的:: AA_MacPluginApplication,TRUE);

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

如何纠正?

其他信息: - 从底座显示/隐藏按预期工作。 - ⌘Q退出本机应用程序(如预期的那样) - 退出菜单退出本机应用程序(如预期的那样) - 与Qt 4.6.4可可相同的问题。

1 个答案:

答案 0 :(得分:0)

这是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);
}