隐藏新QApplication()的Python启动器图标
我有一个多线程的程序,它在后台运行,每个线程都会创建一个QApplication(),结果我在我的Dock上每次都会出现一个新的Python启动图标。
有没有办法在OSX上启动一个QApplication()而不在Dock上创建图标呢?
谢谢!
2 个回答
7
答案在这里:在Mac OS X中启动一个没有Dock图标的GUI进程
在创建QApplication之前,把以下几行代码放在前面:
import AppKit
info = AppKit.NSBundle.mainBundle().infoDictionary()
info["LSBackgroundOnly"] = "1"
7
有一些方法可以去掉或者禁用Dock图标。你可以看看这个问题:“如何隐藏Dock图标”
我使用了这段Python代码(在我创建了QApplication
实例之后):
def hideMacDockIcon():
import AppKit
# https://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSRunningApplication_Class/Reference/Reference.html
NSApplicationActivationPolicyRegular = 0
NSApplicationActivationPolicyAccessory = 1
NSApplicationActivationPolicyProhibited = 2
AppKit.NSApp.setActivationPolicy_(NSApplicationActivationPolicyProhibited)