如何将系统图标放在菜单中

How to put system icons in menus?

本文关键字:菜单 图标 系统      更新时间:2023-10-16

我已经从Qt运行了菜单示例,菜单上没有图标,只有文本。大多数应用程序(如 Ubuntu 的 pcmanfm 和 caja(都有类似的图标,所以我想它们是系统范围的,而不是特定于应用程序的。如何在菜单项中放置图标?代码示例会很有趣。

要获取系统的图标,您必须使用方法QIcon::fromTheme()

例:

newAct = new QAction(tr("&New"), this);
newAct->setIcon(QIcon::fromTheme("document-new"));

Qt用作freedesktop图标的后端,它在名称中有一个规则,它们的更新列表可以在以下链接中找到

不幸的是

,在另一个答案中找到的QIcon::fromTheme()功能无法移植到Mac或Windows。使用QStyle::standardIcon()可能会有更好的运气。