如何在QMenu中更改动作的IconSize?

时间:2017-07-10 11:36:29

标签: c++ qt qmenu

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

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

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

3 个答案:

答案 0 :(得分:3)

在你的cpp文件中输入:

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

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

image

答案 1 :(得分:2)

以下是适合我的解决方案:

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);

答案 2 :(得分:0)

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

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

QMenu {icon-size: 40px;}

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

QMenu::item {background: transparent;}

不幸的是,这会重置菜单样式表,并且您需要对hover状态进行一些操作才能使其可用。很好 看来这对我有用。 有人可以确认吗?

also posted this on the qt forums