我尝试用下面的代码调整QMenu中QAction图标的大小,但是没有效果。
QMenu *menu; menu =new QMenu(); menu->setStyleSheet("QMenu::icon{height:20px;width:20px});"
如果有人能提供解决方案,我将非常感激。
monwx1rj1#
以下是对我有效的解决方案:
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);
gdrx4gfi2#
我们可以设置样式表来管理图标大小,如下所示:
QAction *action = new QAction("Exit", this); action->setIcon(QIcon(":/images/resources/exit.png")); QMenu *menu = new QMenu("File"); menu->addAction(action); menu->setStyleSheet("QMenu {icon-size: 200px;} QMenu::item {background: transparent;}"); ui->menubar->addMenu(menu);
但它会显示在一个不正确的大小,所以最好使用QToolBar .在cpp文件中键入以下内容:
ui->ToolBarName->setIconSize(QSize(50,50));
在Designer中单击QToolbar并设置图标大小。
fae0ux8s3#
这么多年后,我偶然发现了这个问题。我记得我有过一次又一次的这个问题。这次我确实设法解决了一些问题。这有点奇怪,至少在记录方面应该得到一些爱。关键是:您需要样式QMenu AND QMenu::item如果您只是通过以下方式设置图标大小:
QMenu
QMenu::item
QMenu {icon-size: 40px;}
它将保持被忽略状态,直到您还设置了类似
QMenu::item {background: transparent;}
不幸的是,这将重置菜单样式表,您需要对hover状态做一些处理以使其可用。但是,看起来这对我很有效。(also posted this on the qt forums)
hover
3条答案
按热度按时间monwx1rj1#
以下是对我有效的解决方案:
gdrx4gfi2#
我们可以设置样式表来管理图标大小,如下所示:
但它会显示在一个不正确的大小,所以最好使用QToolBar .
在cpp文件中键入以下内容:
在Designer中单击QToolbar并设置图标大小。
fae0ux8s3#
这么多年后,我偶然发现了这个问题。我记得我有过一次又一次的这个问题。这次我确实设法解决了一些问题。这有点奇怪,至少在记录方面应该得到一些爱。
关键是:您需要样式
QMenu
ANDQMenu::item
如果您只是通过以下方式设置图标大小:它将保持被忽略状态,直到您还设置了类似
不幸的是,这将重置菜单样式表,您需要对
hover
状态做一些处理以使其可用。但是,看起来这对我很有效。(also posted this on the qt forums)