• 3930阅读
  • 3回复

[提问]Mac下GUI应用程序如何运行时不在dock中显示图标? [复制链接]

上一主题 下一主题
离线roywillow
 

只看楼主 倒序阅读 楼主  发表于: 2013-05-25
之前问过一个app bundle中多个执行档用QProcess调用的问题,发现总是调用失败的原因是 必须用绝对路径调用其他的执行档,即使把工作目录设置在了执行档所在的位置……
但是另外一个问题来了,在主程序中QProcess调用了同一个bundle里的其他执行档(GUI应用)后,dock中会多出一个同样的图标,即使这个程序的界面没有显示出来(windows下是只有程序有了界面才在任务栏显示)
我试着建立了一个空的控制台应用(只运行QCoreApplication),似乎没有见到dock中显示图标。
所以有没有办法禁用掉某个执行档在dock中的图标?因为主程序运行是需要图标的,所以修改plist的方法不太好使。
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线cavendish

只看该作者 1楼 发表于: 2013-05-25
离线roywillow

只看该作者 2楼 发表于: 2013-05-25
回 1楼(cavendish) 的帖子
谢!行得通!
不过为了免去调用install_name_tool的麻烦和可能的错误,我没有加上CONFIG -= app_bundle这句,这样生成完bundle可以直接调用macdeployqt,然后再把执行档拷贝出来,感觉更省事
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线roywillow

只看该作者 3楼 发表于: 2013-05-25
回 1楼(cavendish) 的帖子
不过接着又有一个问题了
用QProcess在主程序中调用了之后,主程序被自动隐藏到dock中了(主程序界面是个qdialog),得点一下图标才能再出来,OTL
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个