3

我正在 OS X 上制作一个控制台应用程序,它与桌面环境的特定部分(主要是使用 QCursor 的鼠标)进行交互,所以我不能使用 QCoreApplication(尽管我想要多少)。

该应用程序运行良好,只是每当我从命令行运行它时它就会显示在 Dock 中。我在网上查看了其他几个问题,但没有一个能解决我遇到的问题。

我调查了QSystemTrayIcon,如果它可以摆脱弹出的讨厌的窗口,我会很好地使用它。这是我的代码缩小到最低限度,仍然存在我上面提到的问题。

.pro:

TARGET = project

QT += core
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
QT -= gui

CONFIG += c++11
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app

SOURCES += main.cpp

主.cpp:

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QCursor cur;
    cur.setPos(0,0);

    return a.exec();
}
4

1 回答 1

2

一种解决方法是按照此处所述手动进行。

幸运的是,如果是可可应用程序,您可以自己隐藏 Dock 图标。要查看是否可行,请右键单击(Control-click)应用程序图标。如果出现的菜单中有“显示包内容”,您可以隐藏 Dock 中的图标。

如果是这种情况,请选择“显示包内容”并"Info.plist"在 Contents 文件夹中查找文件。使用 TextEdit 打开此文件,方法是右键单击它并从菜单中选择“打开方式 - 其他”。

在文件中,在第 6 行之后粘贴以下两行:

<key>LSUIElement</key>
<string>1</string>

保存文件并关闭它。为了使更改生效,您需要将应用程序移动到桌面并将它们移回其原始位置(OS X 保留文件的缓存,因此您需要欺骗它再次检查它)。

现在,当您打开应用程序时,Dock 中不会出现任何图标。

资料来源: http: //www.macosxtips.co.uk/index_files/disable-the-dock-icon-for-any-application.php

于 2016-09-01T13:05:56.810 回答