QToolButton 类
QToolButton 类提供了一种快速访问命令或选项的按钮,通常用于QToolBar内部。更多...
头文件 | #include <QToolButton> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QAbstractButton |
公共类型
枚举 | ToolButtonPopupMode { DelayedPopup, MenuButtonPopup, InstantPopup } |
属性
- arrowType : Qt::ArrowType
- autoRaise : bool
- popupMode : ToolButtonPopupMode
- toolButtonStyle : Qt::ToolButtonStyle
公共函数
QToolButton(QWidget *parent = nullptr) | |
virtual | ~QToolButton() |
Qt::ArrowType | arrowType() const |
bool | autoRaise() const |
QAction * | defaultAction() const |
QMenu * | menu() const |
QToolButton::ToolButtonPopupMode | popupMode() const |
void | setArrowType(Qt::ArrowType type) |
void | setAutoRaise(bool enable) |
void | setMenu(QMenu *menu) |
void | setPopupMode(QToolButton::ToolButtonPopupMode mode) |
Qt::ToolButtonStyle | toolButtonStyle() const |
重实现的公共函数
virtual QSize | minimumSizeHint() const override |
virtual QSize | sizeHint() const override |
公共槽函数
void | setDefaultAction(QAction *action) |
void | setToolButtonStyle(Qt::ToolButtonStyle style) |
void | showMenu() |
信号
void | triggered(QAction *action) |
受保护的函数
virtual void | initStyleOption(QStyleOptionToolButton *option) const |
重实现了受保护的函数
virtual void | actionEvent(QActionEvent *event) override |
virtual void | changeEvent(QEvent *e) override |
virtual void | checkStateSet() override |
virtual void | enterEvent(QEnterEvent *e) override |
虚 bool | 事件(QEvent *event) override |
虚 bool | hitButton(const QPoint &pos) const override |
virtual void | leaveEvent(QEvent *e) override |
virtual void | mousePressEvent(QMouseEvent *e) override |
virtual void | mouseReleaseEvent(QMouseEvent *e) override |
virtual void | nextCheckState() override |
virtual void | paintEvent(QPaintEvent *event) override |
virtual void | timerEvent(QTimerEvent *e) override |
详细描述
工具按钮是一种特殊的按钮,可快速访问特定命令或选项。与普通命令按钮不同,工具按钮通常不显示文本标签,而是显示图标。
工具按钮通常在创建新的QAction实例时创建,使用QToolBar::addAction(),或将现有操作添加到工具栏中使用QToolBar::addAction()。也可以以与其他小部件相同的方式构造工具按钮,并将它们排列在布局中的其他小部件旁边。
工具按钮的一个典型用途是选择工具;例如,绘图程序中的“笔”工具。这可以通过将QToolButton用作切换按钮(请参阅setCheckable())来实现。
QToolButton支持自动抬起。在自动抬起模式下,按钮只在该鼠标指针指向时绘制3D框架。当按钮在QToolBar内使用时,此功能会自动启动。可以通过setAutoRaise来更改它。
工具按钮的图标设置为QIcon。这使得能够为禁用和活动状态指定不同的位图。当按钮的功能不可用时使用禁用位图。活动位图在按钮自动抬起时显示,因为鼠标指针悬停在它上方。
可以使用setToolButtonStyle()和setIconSize()调整按钮的外观和尺寸。当在QMainWindow中的QToolBar内使用时,按钮将自动调整到QMainWindow的设置(请参阅QMainWindow::setToolButtonStyle()和QMainWindow::setIconSize())。工具按钮还可以显示箭头符号,该符号由arrowType指定,而不是图标。
工具按钮可以在弹出菜单中提供额外的选项。可以使用setMenu设置弹出菜单。使用setPopupMode()配置为工具按钮设置的可用不同模式。默认模式是延迟弹出模式,有时与网络浏览器中的“返回”按钮一起使用。按住按钮一段时间后,弹出菜单会弹出显示可以跳转到的一组页面。超时由样式决定,请参阅QStyle::SH_ToolButton_PopupDelay。
Qt Assistant的带有工具按钮的工具栏 |
Qt Assistant的工具栏包含与主窗口其他部分中使用的操作关联的工具按钮。 |
另请参阅QPushButton、QToolBar、QMainWindow和QAction。
成员类型文档
枚举 QToolButton::ToolButtonPopupMode
描述如何弹出菜单,适用于设置菜单或包含操作列表的工具按钮。
常量 | 值 | 描述 |
---|---|---|
QToolButton::DelayedPopup | 0 | 在按下并按住工具按钮一段时间(超时取决于样式,请参阅 QStyle::SH_ToolButton_PopupDelay)后,显示菜单。一个典型的应用示例是在某些网络浏览器的工具栏中的“后退”按钮。如果用户单击它,浏览器只是浏览到上一页。如果用户按下并按住按钮一段时间,工具按钮将显示包含当前历史列表的菜单 |
QToolButton::MenuButtonPopup | 1 | 在这种模式下,工具按钮会显示一个特殊箭头来指示存在菜单。当按下按钮的箭头部分时显示菜单。 |
QToolButton::InstantPopup | 2 | 按下工具按钮时立即显示菜单,不延迟。在此模式下,按钮自己的操作不会触发。 |
属性文档
arrowType : Qt::ArrowType
此属性表示按钮显示的是箭头而不是正常图标
此显示箭头作为 QToolButton 的图标。
默认情况下,此属性设置为 Qt::NoArrow。
访问函数
Qt::ArrowType | arrowType() const |
void | setArrowType(Qt::ArrowType type) |
autoRaise : bool
此属性表示是否启用自动提升。
默认情况下是禁用的(即 false)。
当使用 QMacStyle 时,此属性在 macOS 上当前被忽略。
访问函数
bool | autoRaise() const |
void | setAutoRaise(bool enable) |
popupMode : ToolButtonPopupMode
描述了与工具按钮一起使用弹出菜单的方式
默认情况下,此属性设置为 DelayedPopup。
访问函数
QToolButton::ToolButtonPopupMode | popupMode() const |
void | setPopupMode(QToolButton::ToolButtonPopupMode mode) |
toolButtonStyle : Qt::ToolButtonStyle
此属性表示工具按钮是否仅显示图标、仅显示文本,或图标旁边/下面的文本。
默认情况下是 Qt::ToolButtonIconOnly。
要使工具按钮样式遵循系统设置,将此属性设置为 Qt::ToolButtonFollowStyle。在 Unix 上,将使用桌面环境中的用户设置。在其他平台上,Qt::ToolButtonFollowStyle 表示仅图标。
QToolButton 自动将此槽连接到此住的 QMainWindow 中的相关信号。
访问函数
Qt::ToolButtonStyle | toolButtonStyle() const |
void | setToolButtonStyle(Qt::ToolButtonStyle style) |
成员函数文档
[显式]
QToolButton::QToolButton(QWidget *parent = nullptr)
构建一个空的工具按钮,其父类为 parent。
[虚函数 noexcept]
QToolButton::~QToolButton()
销毁对象并释放所有分配的资源。
[重写 虚函数 受保护]
void QToolButton::actionEvent(QActionEvent *event)
重新实现: QWidget::actionEvent(QActionEvent *event).
[重写 虚函数 受保护]
void QToolButton::changeEvent(QEvent *e)
重新实现: QAbstractButton::changeEvent(QEvent *e).
[重写 虚函数 受保护]
void QToolButton::checkStateSet()
重新实现: QAbstractButton::checkStateSet().
QAction *QToolButton::defaultAction() const
返回默认操作。
另请参阅 setDefaultAction().
[重写 虚函数 受保护]
void QToolButton::enterEvent(QEnterEvent *e)
重新实现: QWidget::enterEvent(QEnterEvent *event).
[重写 虚函数 受保护]
bool QToolButton::event(QEvent *event)
重新实现: QAbstractButton::event(QEvent *e).
[重写 虚函数 受保护]
bool QToolButton::hitButton(const QPoint &pos) const
重新实现: QAbstractButton::hitButton(const QPoint &pos) const.
[虚函数 受保护]
void QToolButton::initStyleOption(QStyleOptionToolButton *option) const
使用此 QToolButton 的值初始化 option。此方法对于需要 QStyleOptionToolButton 但不希望自己填写所有信息的子类很有用。
另请参阅 QStyleOption::initFrom().
[重写 虚函数 受保护]
void QToolButton::leaveEvent(QEvent *e)
重新实现: QWidget::leaveEvent(QEvent *event).
QMenu *QToolButton::menu() const
返回相关菜单,如果没有定义菜单则返回 nullptr
。
另请参阅 setMenu().
[重写 虚函数]
QSize QToolButton::minimumSizeHint() const
重新实现属性访问函数: QWidget::minimumSizeHint.
[重写 虚函数 受保护]
void QToolButton::mousePressEvent(QMouseEvent *e)
重实现: QAbstractButton::mousePressEvent(QMouseEvent *e).
[重写虚保护]
void QToolButton::mouseReleaseEvent(QMouseEvent *e)
重实现: QAbstractButton::mouseReleaseEvent(QMouseEvent *e).
[重写虚保护]
void QToolButton::nextCheckState()
重实现: QAbstractButton::nextCheckState().
[重写虚保护]
void QToolButton::paintEvent(QPaintEvent *event)
重实现: QAbstractButton::paintEvent(QPaintEvent *e).
根据绘图事件绘制按钮。
[槽]
void QToolButton::setDefaultAction(QAction *action)
将默认操作设置到action。
如果工具按钮有默认操作,操作定义了按钮的以下属性
其他属性,例如autoRepeat(自动重复),不会受动作影响。
参见defaultAction()。
void QToolButton::setMenu(QMenu *menu)
将与指定的menu关联到这个工具按钮。
菜单将根据按钮的popupMode来显示。
菜单的所有权不会转移到工具按钮上。
参见menu()。
[槽]
void QToolButton::showMenu()
显示(弹出)关联的弹出菜单。如果没有这样的菜单,该函数不执行任何操作。此函数不会返回,直到用户关闭弹出菜单。
[重写虚]
QSize QToolButton::sizeHint() const
重写属性访问函数: QWidget::sizeHint。
[重写虚保护]
void QToolButton::timerEvent(QTimerEvent *e)
重写: QAbstractButton::timerEvent(QTimerEvent *e).
[信号]
void QToolButton::triggered(QAction *action)
当指定的action被触发时发出此信号。
该动作还可能与其他用户界面部分相关联,如菜单项和键盘快捷键。以这种方式共享动作有助于使用户界面更一致,并且通常更容易实现。
版权所有 © 2024 Qt公司有限公司。本文档中包含的文档贡献均属各自所有者的版权。本提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3条款许可的。Qt及其相关标志是芬兰及全球其他地方的Qt公司的商标。商标。所有其他商标均为各自所有者的财产。