更改 Qt/Mac Dock 图标有窗口标题副作用

Posted

技术标签:

【中文标题】更改 Qt/Mac Dock 图标有窗口标题副作用【英文标题】:Changing Qt/Mac Dock Icon has window caption side effects 【发布时间】:2012-02-20 17:48:34 【问题描述】:

我想在运行时更改我的停靠图标。据我了解,这样做的唯一方法是在 QApplication 上调用类似的东西:

setWindowIcon(QIcon("my resource or file")); // which I set to a 512x512 png resource I have

它可以工作,但作为副作用,我的应用程序中的所有窗口现在都在标题上显示一个图标 - 这是我不想要的。我只想要给定窗口上的标题文本。

有没有办法抑制应用程序图标在窗口标题上的投影,并且仍然在运行时动态更改停靠图标?

绕过这个也可以,因为更改停靠图标的原因是在其上添加“徽章”并在某些条件下删除该徽章。不用调用“SetWindowIcon”就可以画出这样的徽章吗?

【问题讨论】:

【参考方案1】:

我没有找到其他方法,所以最终,我最终做的是积极地将一个空白的 QIcon() 强制到我的所有窗口上(当然只在 Mac 上)。这样可以确保即使在运行时更改停靠图标后,我的所有窗口标题仍仅包含文本,并且不显示任何图标。

【讨论】:

以上是关于更改 Qt/Mac Dock 图标有窗口标题副作用的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Dock Preferences 中“最小化到应用程序”的值

电脑桌面为啥有的图标有盾牌,有的是箭头呢?

侧边菜单中的图标有下划线/太大了?

Panel.Dock 填充忽略其他 Panel.Dock 设置

Qt OSX全屏窗口上部menuBar和Dock

在Android中使用矢量drawable和一组.png作为图标有啥区别?