Класс 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) |
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().
void QToolBar::actionTriggered(QAction *action)
Этот сигнал генерируется, когда действие в этой панели инструментов срабатывает. Это происходит, когда нажимается кнопка инструмента действия или когда действие срабатывает каким-то другим способом за пределами панели инструментов. Параметр содержит сработанное действие.
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.0/qtoolbar.html