如何更改 QMenu 中操作的图标大小?

How to Change the IconSize for Actions in QMenu?

我正在尝试使用以下代码调整 QMenu 中 QActions 图标的大小,但它不起作用。

QMenu *menu;
menu =new QMenu();
menu->setStyleSheet("QMenu::icon{height:20px;width:20px});"

如果有人能提供解决方案,我将不胜感激。

在你的 cpp 文件中输入:

ui->ToolBarName->setIconSize(QSize(50,50));

在 Designer 中单击您的 QToolbar 并设置图标大小。

这是对我有用的解决方案:

QMenu *menu;
menu =new QMenu();

QToolButton *button=new QToolButton(menu);
button->setFixedSize(50,50);
QWidgetAction *action=new QWidgetAction(this);
action->setDefaultWidget(button);
menu->addAction(action);

这么多年后才偶然发现这个。我记得我一次又一次遇到这个问题。这次我实际上设法解决了一些问题。它有点奇怪,至少在文档方面应该得到一些爱。

关键是:您需要样式 QMenuQMenu::item 如果您只是通过以下方式设置图标大小:

QMenu {icon-size: 40px;}

它将保持被忽略,直到您也设置类似

的内容
QMenu::item {background: transparent;}

不幸的是,这会重置菜单样式表,您需要对 hover 状态进行一些处理才能使其可用。但是好吧。 似乎这对我有用。 有人可以确认一下吗?

(also posted this on the qt forums)