Класс QToolBar
Класс QToolBar предоставляет перемещаемую панель, содержащую набор элементов управления. Подробнее...
| Заголовок: | #include <QToolBar> |
| 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 и Пример приложения.
Документация свойств
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. Вы можете использовать QMainWindow::addToolBar() или QMainWindow::insertToolBar(), если вы хотите переместить панель инструментов, которая уже добавлена в главное окно, в другую Qt::ToolBarArea.
Функции доступа:
| Qt::Orientation | orientation() const |
| void | setOrientation(Qt::Orientation orientation) |
Сигнал уведомления:
| void | orientationChanged(Qt::Orientation orientation) |
toolButtonStyle : Qt::ToolButtonStyle
Это свойство содержит стиль кнопок панели инструментов
Это свойство определяет стиль всех кнопок инструментов, которые добавлены как QAction. Обратите внимание, что если вы добавляете 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 истинно; в противном случае — ложно.
Примечание: Сигнал-уведомление для свойства 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.
Эта функция была добавлена в Qt 4.6.
См. также isWindow().
[signal] void QToolBar::visibilityChanged(bool visible)
Этот сигнал испускается, когда панель инструментов становится видимой (или невидимой). Это происходит при скрытии или показе виджета.
Эта функция была добавлена в Qt 4.7.
[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.
template <typename Functor> QAction *QToolBar::addAction(const QString &text, Functor functor)
Это перегруженная функция.
Создаёт новое действие с заданным текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к functor.
Эта функция была добавлена в Qt 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.
template <typename Functor> QAction *QToolBar::addAction(const QIcon &icon, const QString &text, Functor functor)
Это перегруженная функция.
Создаёт новое действие с заданным изображением icon и текстом text. Это действие добавляется в конец панели инструментов. Сигнал triggered() действия подключается к functor.
Эта функция была добавлена в Qt 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.
См. также 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.
Эта функция была добавлена в Qt 4.2.
См. также addWidget().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qtoolbar.html