效果如下:
主要代码如下:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
createToolButton();
}
void MainWindow::createToolButton()
{
// 创建QToolButton
QToolButton *toolButton = new QToolButton(this);
toolButton->setIcon(QApplication::style()->standardIcon(QStyle::SP_ComputerIcon));
toolButton->setToolButtonStyle( Qt::ToolButtonTextUnderIcon);
toolButton->setPopupMode(QToolButton::InstantPopup);
// 创建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);
}
本文涉及工程代码:
https://gitee.com/bailiyang/cdemo/tree/master/Qt/61QToolButtonMenu/QToolButtonMenu
若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!
同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。