Класс QToolBar
Класс QToolBar предоставляет перемещаемую панель, содержащую набор элементов управления. Подробнее...
| Заголовок: | #include <QToolBar> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QWidget |
Свойства
|
|
Открытые функции
| QToolBar(QWidget *parent = nullptr) | |
| QToolBar(const QString &title, QWidget *parent = nullptr) | |
| virtual | ~QToolBar() |
| QAction * | actionAt(const QPoint &p) const |
| QAction * | actionAt(int x, int y) const |
| QAction * | addAction(const QString &text) |
| QAction * | addAction(const QIcon &icon, const QString &text) |
| QAction * | addAction(const QString &text, const QObject *receiver, const char *member) |
| QAction * | addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char *member) |
| QAction * | addAction(const QString &text, Functor functor) |
| QAction * | addAction(const QString &text, const QObject *context, Functor functor) |
| QAction * | addAction(const QIcon &icon, const QString &text, Functor functor) |
| QAction * | addAction(const QIcon &icon, const QString &text, const QObject *context, Functor functor) |
| 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 |
Подробное описание
Кнопки панели инструментов добавляются путем добавления действий, используя addAction() или insertAction(). Группы кнопок могут быть разделены с помощью addSeparator() или insertSeparator(). Если кнопка панели инструментов не подходит, вместо неё можно вставить виджет, используя addWidget() или insertWidget(). Примерами подходящих виджетов являются QSpinBox, QDoubleSpinBox и QComboBox. При нажатии кнопки панели инструментов генерится сигнал actionTriggered().
Панель инструментов может быть закреплена в определённой области (например, в верхней части окна), или она может перемещаться между областями панели инструментов; см. setMovable(), isMovable(), allowedAreas() и isAreaAllowed().
При изменении размера панели инструментов таким образом, что она становится слишком маленькой для отображения всех элементов, кнопка расширения появится как последний элемент в панели инструментов. Нажатие на кнопку расширения откроет меню, содержащее элементы, которые в данный момент не помещаются в панель инструментов.
Если QToolBar не является дочерним элементом QMainWindow, она теряет возможность заполнять всплывающее окно расширения виджетами, добавленными в панель инструментов с помощью addWidget(). Вместо этого используйте действия виджетов, созданные путём наследования QWidgetAction и реализацией QWidgetAction::createWidget().
См. также QToolButton, QMenu, QAction и Qt Widgets - Application Example.
Документация по свойствам
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) |
[read-only] 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. Вы можете использовать QMainWindow::addToolBar() или QMainWindow::insertToolBar(), если хотите переместить панель инструментов, уже добавленную в главное окно, в другую область Qt::ToolBarArea.
Функции доступа:
| Qt::Orientation | orientation() const |
| void | setOrientation(Qt::Orientation orientation) |
Сигнал оповещения:
| void | orientationChanged(Qt::Orientation orientation) |
toolButtonStyle : Qt::ToolButtonStyle
Это свойство содержит стиль кнопок панели инструментов
Это свойство определяет стиль всех кнопок инструментов, которые добавляются как QActions. Обратите внимание, что если вы добавляете QToolButton с помощью метода addWidget(), этот стиль к ней не применяется.
Чтобы стиль кнопок следовал настройкам системы, установите это свойство в Qt::ToolButtonFollowStyle. В Unix-системах будут использоваться настройки пользователя из среды рабочего стола. На других платформах Qt::ToolButtonFollowStyle означает только значок.
По умолчанию - Qt::ToolButtonIconOnly.
Функции доступа:
| Qt::ToolButtonStyle | toolButtonStyle() const |
| void | setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle) |
Сигнал оповещения:
| void | toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle) |
Документация по членам-функциям
QToolBar::QToolBar(QWidget *parent = nullptr)
Конструирует QToolBar с заданным parent.
QToolBar::QToolBar(const QString &title, QWidget *parent = nullptr)
Конструирует QToolBar с заданным parent.
Указанное заголовок окна title идентифицирует панель инструментов и отображается в контекстном меню, предоставляемом QMainWindow.
См. также setWindowTitle().
[signal] void QToolBar::actionTriggered(QAction *action)
Этот сигнал генерируется при срабатывании действия в этой панели инструментов. Это происходит при нажатии кнопки действия или при срабатывании действия каким-либо другим способом вне панели инструментов. Параметр содержит сработавшее действие.
[signal] void QToolBar::allowedAreasChanged(Qt::ToolBarAreas allowedAreas)
Этот сигнал генерируется при изменении набора разрешённых областей для панели инструментов. Новые области, в которых может быть размещена панель инструментов, задаются allowedAreas.
Примечание: Сигнал оповещения для свойства allowedAreas.
См. также allowedAreas.
[signal] void QToolBar::iconSizeChanged(const QSize &iconSize)
Этот сигнал излучается при изменении размера значка. Параметр iconSize содержит новый размер значка панели инструментов.
Примечание: Сигнал-уведомление для свойства iconSize.
См. также iconSize и QMainWindow::iconSize.
[signal] void QToolBar::movableChanged(bool movable)
Этот сигнал излучается при том, как панель инструментов становится перемещаемой или фиксированной. Если панель инструментов может быть перемещена, movable имеет значение true, иначе — false.
Примечание: Сигнал-уведомление для свойства movable.
См. также movable.
[signal] void QToolBar::orientationChanged(Qt::Orientation orientation)
Этот сигнал излучается при изменении ориентации панели инструментов. Параметр orientation содержит новую ориентацию панели инструментов.
Примечание: Сигнал-уведомление для свойства orientation.
См. также orientation.
[signal] void QToolBar::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)
Этот сигнал излучается при изменении стиля кнопки инструмента. Параметр toolButtonStyle содержит новый стиль кнопки инструмента панели инструментов.
Примечание: Сигнал-уведомление для свойства toolButtonStyle.
См. также toolButtonStyle и QMainWindow::toolButtonStyle.
[signal] void QToolBar::topLevelChanged(bool topLevel)
Этот сигнал излучается при изменении свойства floating. Параметр topLevel имеет значение true, если панель инструментов теперь плавающая, иначе — false.
См. также isWindow().
[signal] void QToolBar::visibilityChanged(bool visible)
Этот сигнал излучается, когда панель инструментов становится видимой (или невидимой). Это происходит при скрытии или отображении виджета.
[virtual] QToolBar::~QToolBar()
Уничтожает панель инструментов.
QAction *QToolBar::actionAt(const QPoint &p) const
Возвращает действие в точке p. Эта функция возвращает ноль, если действие не найдено.
См. также QWidget::childAt().
QAction *QToolBar::actionAt(int x, int y) const
Это перегруженная функция.
Возвращает действие в точке x, y. Эта функция возвращает ноль, если действие не найдено.
[override virtual protected] void QToolBar::actionEvent(QActionEvent *event)
Переопределяет: QWidget::actionEvent(QActionEvent *event).
QAction *QToolBar::addAction(const QString &text)
Создает новое действие с заданным текстом text. Это действие добавляется в конец панели инструментов.
QAction *QToolBar::addAction(const QIcon &icon, const QString &text)
Это перегруженная функция.
Создает новое действие с заданным значком icon и текстом text. Это действие добавляется в конец панели инструментов.
QAction *QToolBar::addAction(const QString &text, const QObject *receiver, const char *member)
Это перегруженная функция.
Создает новое действие с заданным текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к member в receiver.
QAction *QToolBar::addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char *member)
Это перегруженная функция.
Создает новое действие с заданным значком icon и текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к member в receiver.
[since 5.6] template <typename Functor> QAction *QToolBar::addAction(const QString &text, Functor functor)
Это перегруженная функция.
Создает новое действие с заданным текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к functor.
Эта функция была добавлена в Qt 5.6.
[since 5.6] template <typename Functor> QAction *QToolBar::addAction(const QString &text, const QObject *context, Functor functor)
Это перегруженная функция.
Создает новое действие с заданным текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к functor. Functor может быть указателем на член-функцию в объекте context.
Если объект context уничтожен, functor не будет вызван.
Эта функция была добавлена в Qt 5.6.
[since 5.6] template <typename Functor> QAction *QToolBar::addAction(const QIcon &icon, const QString &text, Functor functor)
Это перегруженная функция.
Создает новое действие с заданным значком icon и текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к functor.
Эта функция была добавлена в Qt 5.6.
[since 5.6] template <typename Functor> QAction *QToolBar::addAction(const QIcon &icon, const QString &text, const QObject *context, Functor functor)
Это перегруженная функция.
Создает новое действие с заданным значком icon и текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к functor. Functor может быть указателем на член-функцию объекта context.
Если объект context уничтожен, functor не будет вызван.
Эта функция была добавлена в Qt 5.6.
QAction *QToolBar::addSeparator()
Добавляет разделитель в конец панели инструментов.
См. также insertSeparator().
QAction *QToolBar::addWidget(QWidget *widget)
Добавляет данный виджет widget в панель инструментов как последний элемент.
Панель инструментов берет на себя владение widget.
Если вы добавляете QToolButton с помощью этого метода, стиль панели инструментов Qt::ToolButtonStyle не будет соблюдаться.
Примечание: Вы должны использовать QAction::setVisible(), чтобы изменить видимость виджета. Использование QWidget::setVisible(), QWidget::show() и QWidget::hide() не работает.
См. также insertWidget().
[override virtual protected] void QToolBar::changeEvent(QEvent *event)
Переопределяет: QWidget::changeEvent(QEvent *event).
void QToolBar::clear()
Удаляет все действия из панели инструментов.
См. также removeAction().
[override virtual protected] bool QToolBar::event(QEvent *event)
Переопределяет: QWidget::event(QEvent *event).
QAction *QToolBar::insertSeparator(QAction *before)
Вставляет разделитель в панель инструментов перед элементом панели инструментов, связанным с действием before.
END_OF_DOCUMENT_MARKERСм. также addSeparator().
QAction *QToolBar::insertWidget(QAction *before, QWidget *widget)
Вставляет заданный widget перед элементом панели инструментов, связанным с действием before.
Примечание: Для изменения видимости виджета следует использовать QAction::setVisible(). Использование QWidget::setVisible(), QWidget::show() и QWidget::hide() не работает.
См. также addWidget().
bool QToolBar::isAreaAllowed(Qt::ToolBarArea area) const
Возвращает true , если данная панель инструментов может быть прикреплена к указанной области area; в противном случае возвращает false.
[override virtual protected] void QToolBar::paintEvent(QPaintEvent *event)
Переопределяет: QWidget::paintEvent(QPaintEvent *event).
QAction *QToolBar::toggleViewAction() const
Возвращает управляемое действие, которое можно использовать для показа или скрытия этой панели инструментов.
Текст действия устанавливается в заголовок окна панели инструментов.
См. также QAction::text и QWidget::windowTitle.
QWidget *QToolBar::widgetForAction(QAction *action) const
Возвращает виджет, связанный с указанным действием action.
См. также addWidget().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtoolbar.html