Qt无法调整菜单栏图标大小的迂回解决方法

需求:用有图标的按钮代替菜单栏的文字按钮,让界面更美观,如果用menuBar,图标太小,尝试许多方法调整后失败。

根据qt6文档的内容,menuBar图标的大小是不能通过styleSheet调整的。

尝试了这篇博客(Qt MenuBar自定义Icon大小_qt 怎么改icon的尺寸-优快云博客)的方法,没有效果。我的qt版本是6.5.3。

但是toolBar的图标大小可以调整,所以可以先创建一个QToolBar,然后加按钮QToolButton,再把菜单和按钮关联起来,步骤:

1.添加工具栏

QToolBar* ToolBar = new QToolBar("tool", this);

this->addToolBar(Qt::TopToolBarArea, ToolBar); // 将工具栏添加到主窗口的顶部区域

2.添加按钮
 

QMenu* fileMenu = new QMenu(this);//创建菜单

QToolButton* fileButton = new QToolButton(ToolBar);

fileButton->setIcon(xxx);//设置图标

fileButton->setMenu(fileMenu);//关联菜单和按钮

ToolBar->addWidget(fileButton);//把按钮加到工具栏

可以用 ToolBar->setIconSize(QSize(70, 70));  来设置所有图标的大小。

参考:

qmenu icon size | Qt Forum

How to change icon size in QMenu's action item? | Qt Forum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值