我有一个在后台运行的Threaded程序,每个线程创建一个QApplication(),每次我在Dock上都有一个新的Python Launcher图标。
有没有办法启动QApplication()而不在OSX上创建停靠图标?
谢谢!
答案 0 :(得分:4)
有多种方法可以删除/禁用停靠栏图标。请参阅此问题:"How to hide the Dock icon"
我使用这个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)
答案 1 :(得分:4)
答案在这里:Start a GUI process in Mac OS X without dock icon
在实例化QApplication之前添加以下行:
import AppKit
info = AppKit.NSBundle.mainBundle().infoDictionary()
info["LSBackgroundOnly"] = "1"