QToolBar类

QToolBar类提供了一个可移动的面板,其中包含一组控件。更多信息...

头文件 #include <QToolBar>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QWidget

属性

公共函数

QToolBar(const QString &title, QWidget *parent = nullptr)
QToolBar(QWidget *parent = nullptr)
虚拟~QToolBar()
QAction *actionAt(const QPoint &p) const
QAction *actionAt(int x, int y) const
QAction *addSeparator()
QAction *addWidget(QWidget *widget)
Qt::ToolBarAreasallowedAreas() const
voidclear()
QSizeiconSize() const
QAction *insertSeparator(QAction *before)
QAction *insertWidget(QAction *before, QWidget *widget)
boolisAreaAllowed(Qt::ToolBarArea area) const
boolisFloatable() const
boolisFloating() const
boolisMovable() const
Qt::Orientationorientation() const
voidsetAllowedAreas(Qt::ToolBarAreas areas)
voidsetFloatable(bool floatable)
voidsetMovable(bool movable)
voidsetOrientation(Qt::Orientation orientation)
QAction *toggleViewAction() const
Qt::ToolButtonStyletoolButtonStyle() const
QWidget *widgetForAction(QAction *action) const

公共槽

voidsetIconSize(const QSize &iconSize)
voidsetToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

信号

voidactionTriggered(QAction *action)
voidallowedAreasChanged(Qt::ToolBarAreas allowedAreas)
voidiconSizeChanged(const QSize &iconSize)
voidmovableChanged(bool movable)
voidorientationChanged(Qt::Orientation orientation)
voidtoolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)
voidtopLevelChanged(bool topLevel)
voidvisibilityChanged(bool visible)

重新实现了受保护的函数

virtual voidactionEvent(QActionEvent *event) override
virtual voidchangeEvent(QEvent *event) override
virtual boolevent(QEvent *event) override
virtual voidpaintEvent(QPaintEvent *event) override

详细说明

通常通过调用QMainWindow::addToolBar(const QString &title),创建工具栏,但它也可以作为一个QVBoxLayout的第一个小部件添加,例如。

通过添加actions来添加工具栏按钮,使用addAction()或insertAction()。可以使用addSeparator()或insertSeparator()分隔按钮组。如果工具栏按钮不合适,可以使用addWidget()或insertWidget()插入小部件。合适的小部件的示例包括QSpinBoxQDoubleSpinBoxQComboBox。当按钮被按下时,它将发出actionTriggered()信号。

工具栏可以固定在特定区域(例如,在窗口顶部),或者可以在工具栏区域之间移动;见setMovable()、isMovable()、allowedAreasisAreaAllowed()。

当工具栏的大小调整到不足以显示其所有项时,将在工具栏的最后位置出现扩展按钮。按下扩展按钮将弹出一个菜单,包含当前不适合工具栏的项。

当QToolBar不是QMainWindow的子项时,它将失去使用addWidget()将小部件添加到工具栏中以便填充扩展弹出窗口的能力。请使用通过继承QWidgetAction并实现QWidgetAction::createWidget()创建的小部件动作。

另请参阅QToolButtonQMenuQAction

属性文档

allowedAreas : Qt::ToolBarAreas

可能放置工具栏的区域

默认值为Qt::AllToolBarAreas

此属性仅在与QMainWindow一起使用时才有意义。

访问函数

Qt::ToolBarAreasallowedAreas() const
voidsetAllowedAreas(Qt::ToolBarAreas areas)

通知信号

voidallowedAreasChanged(Qt::ToolBarAreas allowedAreas)

另请参阅movable

floatable : bool

此属性表示工具栏是否可以作为一个独立的窗口拖放。

默认值为true。

访问函数

boolisFloatable() const
voidsetFloatable(bool floatable)

[只读] floating : const bool

此属性表示工具栏是否是一个独立窗口。

默认情况下,此属性为true

访问函数

boolisFloating() const

另见QWidget::isWindow()。

iconSize : QSize

工具栏中图标的尺寸。

默认尺寸由应用程序风格确定,并从QStyle::PM_ToolBarIconSize像素度量值派生而来。这是图标可以具有的最大尺寸。较小尺寸的图标不会被放大。

访问函数

QSizeiconSize() const
voidsetIconSize(const QSize &iconSize)

通知信号

voidiconSizeChanged(const QSize &iconSize)

movable : bool

此属性表示用户是否可以拖动工具栏在其区域内部,或在不同工具栏区域之间。

默认情况下,此属性为true

此属性仅在与QMainWindow一起使用时才有意义。

访问函数

boolisMovable() const
voidsetMovable(bool movable)

通知信号

voidmovableChanged(bool movable)

另见allowedAreas

orientation : Qt::Orientation

工具栏的方向

默认值为Qt::Horizontal

当工具栏由QMainWindow管理时,不应使用此函数。如果您希望将已添加到主窗口的工具栏移动到另一个Qt::ToolBarArea,可以使用QMainWindow::addToolBar()或QMainWindow::insertToolBar()。

访问函数

Qt::Orientationorientation() const
voidsetOrientation(Qt::Orientation orientation)

通知信号

voidorientationChanged(Qt::Orientation orientation)

toolButtonStyle : Qt::ToolButtonStyle

此属性表示工具栏按钮的样式

此属性定义所有已添加为QAction的工具按钮的样式。请注意,如果您使用addWidget()方法添加了一个QToolButton,它不会获取此按钮样式。

为了让工具按钮样式遵循系统设置,请将此属性设置为Qt::ToolButtonFollowStyle。在Unix系统中,将使用桌面环境的用户设置。在其他平台上,Qt::ToolButtonFollowStyle表示仅图标。

默认值为Qt::ToolButtonIconOnly

访问函数

Qt::ToolButtonStyletoolButtonStyle() const
voidsetToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

通知信号

voidtoolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

成员函数文档

[显式] QToolBar::QToolBar(const QString &title, QWidget *parent = nullptr)

使用给定的 父类 构建一个 QToolBar。

给定的窗口 标题 识别工具栏并在 QMainWindow 提供的上下文中显示。

另请参阅 setWindowTitle()。

[显式] QToolBar::QToolBar(QWidget *parent = nullptr)

使用给定的 父类 构建一个 QToolBar。

[虚性 noexcept] QToolBar::~QToolBar()

销毁工具栏。

QAction *QToolBar::actionAt(const QPoint &p) const

返回点 p 处的动作。如果没有找到动作,此函数返回零。

另请参阅 QWidget::childAt()。

QAction *QToolBar::actionAt(int x, int y) const

这是一个重载函数。

返回点 xy 处的动作。如果没有找到动作,此函数返回零。

[重写虚保护] void QToolBar::actionEvent(QActionEvent *event)

重新实现: QWidget::actionEvent(QActionEvent *event)。

[信号] void QToolBar::actionTriggered(QAction *action)

当此工具栏中的动作被触发时发出此信号。当操作的工具按钮被按下或以其他方式在工具栏外部触发操作时,发生这种情况。参数包含被触发的 动作

QAction *QToolBar::addSeparator()

将分隔符添加到工具栏的末尾。

另请参阅 insertSeparator()。

QAction *QToolBar::addWidget(QWidget *widget)

将给定的 widget 添加到工具栏,作为工具栏的最后一个项目。

工具栏将拥有 widget

如果你使用此方法添加一个 QToolButton,则工具栏的 Qt::ToolButtonStyle 不会被尊重。

注意: 应使用 QAction::setVisible() 来更改 widget 的可见性。使用 QWidget::setVisible()、QWidget::show() 和 QWidget::hide() 是不起作用的。

另请参阅 insertWidget()。

[信号] void QToolBar::allowedAreasChanged(Qt::ToolBarAreas allowedAreas)

当更改工具栏允许的区域集合时发出此信号。新区域是指定工具栏可以被放置的 allowedAreas

注意: 该属性 allowedAreas 的通知信号。

另见allowedAreas

[重写虚拟受保护的] void QToolBar::changeEvent(QEvent *event)

重新实现: QWidget::changeEvent(QEvent *event).

void QToolBar::clear()

从工具栏中移除所有动作。

另请参阅removeAction().

[重写虚拟受保护的] bool QToolBar::event(QEvent *event)

重新实现: QWidget::event(QEvent *event).

[信号] void QToolBar::iconSizeChanged(const QSize &iconSize)

当图标大小改变时发出此信号。参数 iconSize 包含工具栏的新图标大小。

注意:属性 iconSize 的通知信号。

另请参阅iconSizeQMainWindow::iconSize.

QAction *QToolBar::insertSeparator(QAction *before)

在工具栏中 before 动作关联的工具栏项前插入一个分隔符。

另请参阅addSeparator().

QAction *QToolBar::insertWidget(QAction *before, QWidget *widget)

在工具栏中 before 动作关联的工具栏项前插入指定的 widget

注意:您应使用 QAction::setVisible() 来更改小部件的可见性。使用 QWidget::setVisible(),QWidget::show() 和 QWidget::hide () 不会生效。

另请参阅addWidget().

bool QToolBar::isAreaAllowed(Qt::ToolBarArea area) const

如果此工具栏可以在给定的 area 中停靠,则返回 true;否则返回 false

[信号] void QToolBar::movableChanged(bool movable)

当工具栏变为可移动或固定时发出此信号。如果工具栏可移动,movabletrue;否则为 false

注意:属性 movable 的通知信号。

另请参阅movable

[信号] void QToolBar::orientationChanged(Qt::Orientation orientation)

当工具栏的方向改变时发出此信号。参数 orientation 包含工具栏的新方向。

注意:属性 orientation 的通知信号。

另请参阅orientation.

[重写虚拟保护] void QToolBar::paintEvent(QPaintEvent *event)

重实现: QWidget::paintEvent(QPaintEvent *event).

QAction *QToolBar::toggleViewAction() const

返回一个可复选的操作,用于显示或隐藏此工具栏。

操作文本设置为工具栏的窗口标题。

另请参阅 QAction::textQWidget::windowTitle.

[信号] void QToolBar::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

当工具按钮样式更改时,发出此信号。《i translate="no">toolButtonStyle

注意:属性 toolButtonStyle 的通知信号。

另请参阅 toolButtonStyleQMainWindow::toolButtonStyle.

[信号] void QToolBar::topLevelChanged(bool topLevel)

float 属性更改时,发出此信号。《i translate="no">topLevel

另请参阅 isWindow().

[信号] void QToolBar::visibilityChanged(bool visible)

当工具栏变得visible(或不可见)时,发出此信号。这发生在部件被隐藏或显示时。

QWidget *QToolBar::widgetForAction(QAction *action) const

返回与指定 action 关联的部件。

另请参阅addWidget().

© 2024 The Qt Company Ltd. 本文档中的文档贡献归其各自所有者所有。提供的文档受GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 和相应徽标是芬兰及/或其他国家的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。