需求:用有图标的按钮代替菜单栏的文字按钮,让界面更美观,如果用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)); 来设置所有图标的大小。
参考: