我在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
main.cpp中:
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QCursor cur;
cur.setPos(0,0);
return a.exec();
}
答案 0 :(得分:2)
解决方法是手动完成,如此处所述。
幸运的是,如果它是一个cocoa应用程序,你可以自己隐藏Dock图标。要查看是否可行,请在应用程序图标上单击鼠标右键(按住Control键单击)。如果出现的菜单中显示“显示包装内容”,则可以隐藏Dock中的图标。
如果是这种情况,请选择“显示包内容”并在Contents文件夹中查找
"Info.plist"
文件。使用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