一、描述
工具按钮是一种特殊按钮,可提供对特定命令或选项的快速访问。工具按钮通常不显示文本标签,而是显示图标。
当使用 QToolBar::addAction() 将 QAction 添加到工具栏时,通常会创建工具按钮。
二、类型成员
1、enum QToolButton::ToolButtonPopupMode:如何为具有菜单集或包含操作列表的工具按钮弹出菜单。
- DelayedPopup:按住工具按钮一定时间后(时间取决于QStyle::SH_ToolButton_PopupDelay)显示菜单。
- MenuButtonPopup:在这种模式下,工具按钮会显示一个特殊的箭头,表示存在菜单。按下按钮的箭头部分时会显示菜单。
- InstantPopup:当按下工具按钮时,菜单立即显示。在这种模式下,不会触发按钮本身的action。
三、属性成员
1、arrowType : Qt::ArrowType
按钮是否显示箭头作为的图标而不是普通图标。默认为 Qt::NoArrow。
可以设置箭头的样式,见:【翻译 + 整理】Qt样式表详解(9):子控件
- Qt::NoArrow
- Qt::UpArrow
- Qt::DownArrow
- Qt::LeftArrow
- Qt::RightArrow
2、autoRaise : bool
是否启用自动提升。默认为 false。
在自动提升模式下,按钮仅在鼠标指向时绘制 3D 帧。当在 QToolBar 中使用工具按钮时,该功能会自动打开。使用 setAutoRaise() 更改它。
3、popupMode : ToolButtonPopupMode
弹出菜单与工具按钮一起使用的方式。默认为 DelayedPopup。
4、toolButtonStyle : Qt::ToolButtonStyle
工具按钮样式。
- Qt::ToolButtonIconOnly:只显示图标。
- Qt::ToolButtonTextOnly:只显示文本。
- Qt::ToolButtonTextBesideIcon:文本出现在图标旁边。
- Qt::ToolButtonTextUnderIcon:文本出现在图标下方。
- Qt::ToolButtonFollowStyle:跟随 QStyle。
四、成员函数
1、void setDefaultAction(QAction *action)
设置按钮的默认操作。
如果工具按钮具有默认操作,则该操作(QAction)定义按钮的以下属性:
- checkable
- checked
- enabled
- font
- icon
- popupMode
- statusTip
- text
- toolTip
- whatsThis
2、void showMenu()
显示(弹出)关联的弹出菜单。
3、【信号】void triggered(QAction *action)
action 被触发时发出这个信号。
该 action 还可以与用户界面的其他部分相关联,例如菜单项和键盘快捷键。以这种方式共享操作有助于使用户界面更加一致,并且通常需要较少的工作来实现。
4、void initStyleOption(QStyleOptionToolButton *option)
使用此 QToolButton 中的值初始化option。
当子类需要 QStyleOptionToolButton 但又不想自己填写所有信息时很有用。
5、void setMenu(QMenu *menu)
设置此工具按钮关联的菜单。菜单将根据按钮的弹出模式显示。
菜单的所有权不会转移到工具按钮。