QToolBar类
QToolBar类提供了一个可移动的面板,其中包含一组控件。更多信息...
| 头文件 | #include <QToolBar> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) | 
| qmake | QT += 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::ToolBarAreas | allowedAreas() const | 
| void | clear() | 
| QSize | iconSize() const | 
| QAction * | insertSeparator(QAction *before) | 
| QAction * | insertWidget(QAction *before, QWidget *widget) | 
| bool | isAreaAllowed(Qt::ToolBarArea area) const | 
| bool | isFloatable() const | 
| bool | isFloating() const | 
| bool | isMovable() const | 
| Qt::Orientation | orientation() const | 
| void | setAllowedAreas(Qt::ToolBarAreas areas) | 
| void | setFloatable(bool floatable) | 
| void | setMovable(bool movable) | 
| void | setOrientation(Qt::Orientation orientation) | 
| QAction * | toggleViewAction() const | 
| Qt::ToolButtonStyle | toolButtonStyle() const | 
| QWidget * | widgetForAction(QAction *action) const | 
公共槽
| void | setIconSize(const QSize &iconSize) | 
| void | setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle) | 
信号
| void | actionTriggered(QAction *action) | 
| void | allowedAreasChanged(Qt::ToolBarAreas allowedAreas) | 
| void | iconSizeChanged(const QSize &iconSize) | 
| void | movableChanged(bool movable) | 
| void | orientationChanged(Qt::Orientation orientation) | 
| void | toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle) | 
| void | topLevelChanged(bool topLevel) | 
| void | visibilityChanged(bool visible) | 
重新实现了受保护的函数
| virtual void | actionEvent(QActionEvent *event) override | 
| virtual void | changeEvent(QEvent *event) override | 
| virtual bool | event(QEvent *event) override | 
| virtual void | paintEvent(QPaintEvent *event) override | 
详细说明
通常通过调用QMainWindow::addToolBar(const QString &title),创建工具栏,但它也可以作为一个QVBoxLayout的第一个小部件添加,例如。
通过添加actions来添加工具栏按钮,使用addAction()或insertAction()。可以使用addSeparator()或insertSeparator()分隔按钮组。如果工具栏按钮不合适,可以使用addWidget()或insertWidget()插入小部件。合适的小部件的示例包括QSpinBox、QDoubleSpinBox和QComboBox。当按钮被按下时,它将发出actionTriggered()信号。
工具栏可以固定在特定区域(例如,在窗口顶部),或者可以在工具栏区域之间移动;见setMovable()、isMovable()、allowedAreas和isAreaAllowed()。
当工具栏的大小调整到不足以显示其所有项时,将在工具栏的最后位置出现扩展按钮。按下扩展按钮将弹出一个菜单,包含当前不适合工具栏的项。
当QToolBar不是QMainWindow的子项时,它将失去使用addWidget()将小部件添加到工具栏中以便填充扩展弹出窗口的能力。请使用通过继承QWidgetAction并实现QWidgetAction::createWidget()创建的小部件动作。
另请参阅QToolButton、QMenu和QAction。
属性文档
allowedAreas : Qt::ToolBarAreas
可能放置工具栏的区域
默认值为Qt::AllToolBarAreas。
此属性仅在与QMainWindow一起使用时才有意义。
访问函数
| Qt::ToolBarAreas | allowedAreas() const | 
| void | setAllowedAreas(Qt::ToolBarAreas areas) | 
通知信号
| void | allowedAreasChanged(Qt::ToolBarAreas allowedAreas) | 
另请参阅movable。
floatable : bool
此属性表示工具栏是否可以作为一个独立的窗口拖放。
默认值为true。
访问函数
| bool | isFloatable() const | 
| void | setFloatable(bool floatable) | 
[只读] floating : const bool
此属性表示工具栏是否是一个独立窗口。
默认情况下,此属性为true。
访问函数
| bool | isFloating() const | 
另见QWidget::isWindow()。
iconSize : QSize
工具栏中图标的尺寸。
默认尺寸由应用程序风格确定,并从QStyle::PM_ToolBarIconSize像素度量值派生而来。这是图标可以具有的最大尺寸。较小尺寸的图标不会被放大。
访问函数
| QSize | iconSize() const | 
| void | setIconSize(const QSize &iconSize) | 
通知信号
| void | iconSizeChanged(const QSize &iconSize) | 
movable : bool
此属性表示用户是否可以拖动工具栏在其区域内部,或在不同工具栏区域之间。
默认情况下,此属性为true。
此属性仅在与QMainWindow一起使用时才有意义。
访问函数
| bool | isMovable() const | 
| void | setMovable(bool movable) | 
通知信号
| void | movableChanged(bool movable) | 
另见allowedAreas。
orientation : Qt::Orientation
工具栏的方向
默认值为Qt::Horizontal。
当工具栏由QMainWindow管理时,不应使用此函数。如果您希望将已添加到主窗口的工具栏移动到另一个Qt::ToolBarArea,可以使用QMainWindow::addToolBar()或QMainWindow::insertToolBar()。
访问函数
| Qt::Orientation | orientation() const | 
| void | setOrientation(Qt::Orientation orientation) | 
通知信号
| void | orientationChanged(Qt::Orientation orientation) | 
toolButtonStyle : Qt::ToolButtonStyle
此属性表示工具栏按钮的样式
此属性定义所有已添加为QAction的工具按钮的样式。请注意,如果您使用addWidget()方法添加了一个QToolButton,它不会获取此按钮样式。
为了让工具按钮样式遵循系统设置,请将此属性设置为Qt::ToolButtonFollowStyle。在Unix系统中,将使用桌面环境的用户设置。在其他平台上,Qt::ToolButtonFollowStyle表示仅图标。
访问函数
| Qt::ToolButtonStyle | toolButtonStyle() const | 
| void | setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle) | 
通知信号
| void | toolButtonStyleChanged(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
这是一个重载函数。
返回点 x、y 处的动作。如果没有找到动作,此函数返回零。
[重写虚保护] 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 的通知信号。
另请参阅iconSize 和 QMainWindow::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)
当工具栏变为可移动或固定时发出此信号。如果工具栏可移动,movable 为 true;否则为 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::text 和 QWidget::windowTitle.
[信号] void QToolBar::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)
当工具按钮样式更改时,发出此信号。《i translate="no">toolButtonStyle
注意:属性 toolButtonStyle 的通知信号。
另请参阅 toolButtonStyle 和 QMainWindow::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. 的商标。所有其他商标均为其各自所有者的财产。