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. 的商标。所有其他商标均为其各自所有者的财产。