ui->toolButton->setMenu(menu);//设置按钮的弹出菜单
ui->toolButton->setPopupMode(QToolButton::DelayedPopup);//设置弹出菜单的方式,默认情况下,设置为DelayedPopup(延迟弹出)
// QToolButton::DelayedPopup 0 按下按钮一定时间后(超时风格依赖,参考:QStyle::SH_ToolButton_PopupDelay),显示菜单。
//一个典型案例:浏览器中工具栏的“后退”按钮
// QToolButton::MenuButtonPopup 1 这种模式下,工具按钮显示一个特殊的箭头以指示菜单是否存在,按下按钮的箭头部分时显示菜单。
// QToolButton::InstantPopup 2 按下工具按钮时菜单显示,无延迟。这种模式下,按钮自身的动作不触发。
ui->toolButton->setToolButtonStyle(Qt::ToolButtonIconOnly);
#if 0
设置按钮风格,只显示一个图标,文本或文本位于图标旁边、下方。默认值是Qt::ToolButtonIconOnly。
枚举Qt::ToolButtonStyle:
常量 值 描述
Qt::ToolButtonIconOnly 0 只显示图标
Qt::ToolButtonTextOnly 1 只显示文本
Qt::ToolButtonTextBesideIcon 2 文本显示在图标旁边
Qt::ToolButtonTextUnderIcon 3 文本显示在图标下边
Qt::ToolButtonFollowStyle 4 遵循QStyle::StyleHint
#endif
ui->toolButton->setArrowType(Qt::NoArrow);
# if 0
设置按钮是否显示一个箭头,而不是一个正常的图标。这将显示一个箭头作为QToolButton的图标。
默认情况下,这个属性被设置为Qt::NoArrow。
枚举Qt::ArrowType:
常量 值
Qt::NoArrow 0
Qt::UpArrow 1
Qt::DownArrow 2
Qt::LeftArrow 3
Qt::RightArrow 4
#endif
// void setDefaultAction(QAction * action)
QAction *pAction = new QAction(this);
pAction->setText(QString::fromLocal8Bit("设置名称"));
pAction->setIcon(QIcon(":/Images/logo")); //icon路径
ui->toolButton->setIconSize(QSize(48, 48));//设置ICON大小
pAction->setToolTip(QString::fromLocal8Bit("运行时,鼠标停留在按钮处就会显示toolTip"));
ui->toolButton->setDefaultAction(pAction); // 设置默认的QAction,如果有一个默认的action,该action则会定义QToolButton的文本、图标、TooTip等按钮的属性。
ui->toolButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
Qt中的QToolButton