如下代码为工具栏按钮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函数的参数,可以根据自己的需求更改。运行结果如下: