如下代码为工具栏按钮QToolButton添加下拉菜单,发现菜单没显示出来:
// 创建QToolButton
QToolButton *toolButton = new QToolButton(this);
toolButton->setIcon(QApplication::style()->standardIcon(QStyle::SP_ComputerIcon));
toolButton->setToolButtonStyle( Qt::ToolButtonTextUnderIcon);
// 创建QMenu
QMenu *menu = new QMenu();
menu->addAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical), tr("图标视图"));
menu->addAction(QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion), tr("细节视图"));
// 为QToolButton设置菜单
toolButton->setMenu(menu);
经过排查需要加入菜单弹出模式代码,即在创建QToolButton对象之后加入如下代码:
toolButton->setPopupMode(QToolButton::InstantPopup);
setPopupMode函数的参数,可以根据自己的需求更改。运行结果如下:

本文介绍如何在Qt中为QToolButton组件正确配置下拉菜单。通过设置弹出模式为InstantPopup,确保菜单能够正常显示。示例代码展示了创建按钮、添加图标及设置不同视图方式的过程。
1408

被折叠的 条评论
为什么被折叠?



