Spec-Zone.ru › Qt 5.9

Класс QToolButton

Класс QToolButton предоставляет кнопку быстрого доступа к командам или параметрам, обычно используемую внутри QToolBar. Подробнее...

Заголовок: #include <QToolButton>
qmake: QT += widgets
Наследует: QAbstractButton
  • Список всех членов, включая унаследованные

Типы

Перечисление ToolButtonPopupMode { DelayedPopup, MenuButtonPopup, InstantPopup }

Свойства

  • arrowType : Qt::ArrowType
  • autoRaise : bool
  • popupMode : ToolButtonPopupMode
  • toolButtonStyle : Qt::ToolButtonStyle
  • 11 свойств унаследовано от QAbstractButton
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QToolButton(QWidget *parent = Q_NULLPTR)
~QToolButton()
Qt::ArrowType arrowType() const
bool autoRaise() const
QAction * defaultAction() const
QMenu * menu() const
ToolButtonPopupMode popupMode() const
void setArrowType(Qt::ArrowType type)
void setAutoRaise(bool enable)
void setMenu(QMenu *menu)
void setPopupMode(ToolButtonPopupMode mode)
Qt::ToolButtonStyle toolButtonStyle() const

Переопределённые открытые функции

virtual QSize minimumSizeHint() const
virtual QSize sizeHint() const
  • 21 открытая функция унаследована от QAbstractButton
  • 214 открытых функций унаследовано от QWidget
  • 32 открытых функции унаследовано от QObject
  • 14 открытых функции унаследовано от QPaintDevice

Открытые слоты

void setDefaultAction(QAction *action)
void setToolButtonStyle(Qt::ToolButtonStyle style)
void showMenu()
  • 5 открытых слотов унаследовано от QAbstractButton
  • 19 открытых слотов унаследовано от QWidget
  • 1 открытый слот унаследовано от QObject

Сигналы

void triggered(QAction *action)
  • 4 сигнала унаследовано от QAbstractButton
  • 3 сигнала унаследовано от QWidget
  • 2 сигнала унаследовано от QObject

Защищенные функции

void initStyleOption(QStyleOptionToolButton *option) const

Переопределённые защищенные функции

virtual void actionEvent(QActionEvent *event)
virtual void changeEvent(QEvent *e)
virtual void enterEvent(QEvent *e)
virtual bool event(QEvent *event)
virtual bool hitButton(const QPoint &pos) const
virtual void leaveEvent(QEvent *e)
virtual void mousePressEvent(QMouseEvent *e)
virtual void mouseReleaseEvent(QMouseEvent *e)
virtual void nextCheckState()
virtual void paintEvent(QPaintEvent *event)
virtual void timerEvent(QTimerEvent *e)
  • 14 защищенных функций унаследовано от QAbstractButton
  • 35 защищенных функций унаследовано от QWidget
  • 9 защищенных функций унаследовано от QObject
  • 1 защищенная функция унаследовано от QPaintDevice

Дополнительные унаследованные члены

  • 5 статических открытых членов унаследовано от QWidget
  • 11 статических открытых членов унаследовано от QObject
  • 1 защищённый слот унаследовано от QWidget

Подробное описание

Класс QToolButton предоставляет кнопку быстрого доступа к командам или параметрам, обычно используемую внутри QToolBar.

Кнопка инструмента — это специальная кнопка, которая обеспечивает быстрый доступ к определённым командам или параметрам. В отличие от обычной кнопки команды, кнопка инструмента обычно не отображает текстовую метку, а вместо этого отображает значок.

Кнопки инструментов обычно создаются при создании новых экземпляров QAction с помощью QToolBar::addAction() или существующие действия добавляются в панель инструментов с помощью QToolBar::addAction(). Также можно создать кнопки инструментов так же, как и любые другие виджеты, и разместить их рядом с другими виджетами в макетах.

Одно из классических применений кнопки инструмента — выбор инструментов; например, инструмент "ручка" в программе рисования. Это будет реализовано с помощью QToolButton как переключательной кнопки (см. setCheckable()).

QToolButton поддерживает автоматическое поднятие. В режиме автоматического поднятия кнопка рисует 3D рамку только при наведении на неё курсора. Эта функция автоматически включается, когда кнопка используется внутри QToolBar. Изменить её можно с помощью setAutoRaise().

Значок кнопки инструмента устанавливается как QIcon. Это позволяет задавать разные изображения для состояния отключения и включения. Изображение отключения используется, когда функциональность кнопки недоступна. Активное изображение отображается, когда кнопка автоматически поднята, потому что курсор мыши находится над ней.

END_OF_DOCUMENT_MARKER

Внешний вид и размеры кнопки можно настраивать с помощью setToolButtonStyle() и setIconSize(). При использовании внутри QToolBar в QMainWindow, кнопка автоматически подстраивается под настройки QMainWindow (см. QMainWindow::setToolButtonStyle() и QMainWindow::setIconSize()). Вместо значка кнопка инструмента может также отображать стрелку, указанную свойством arrowType.

Кнопка инструмента может предлагать дополнительные варианты в всплывающем меню. Всплывающее меню можно задать с помощью setMenu(). Используйте setPopupMode(), чтобы настроить различные режимы, доступные для кнопок инструмента с заданным меню. По умолчанию используется режим DelayedPopupMode, который иногда используется с кнопкой "Назад" в веб-браузере. После нажатия и удерживания кнопки в течение некоторого времени всплывает меню, отображающее список возможных страниц для перехода. Время ожидания зависит от стиля, см. QStyle::SH_ToolButton_PopupDelay.

class="generic" width="100%">
Qt Assistant's toolbar with tool buttons
Панель инструментов Qt Assistant содержит кнопки инструмента, связанные с действиями, используемыми в других частях главного окна.

См. также QPushButton, QToolBar, QMainWindow, QAction и Руководство по проектированию пользовательского интерфейса: Кнопка.

Документация по типам членов

enum QToolButton::ToolButtonPopupMode

Описывает, как должно всплывать меню для кнопок инструмента, которые имеют заданное меню или содержат список действий.

class="valuelist">
Константа Значение Описание
QToolButton::DelayedPopup 0 После нажатия и удерживания кнопки инструмента в течение определенного времени (время ожидания зависит от стиля, см. QStyle::SH_ToolButton_PopupDelay) меню отображается. Типичный пример применения — кнопка "назад" в панели инструментов некоторых веб-браузеров. Если пользователь нажимает на неё, браузер просто переходит на предыдущую страницу. Если пользователь нажимает и удерживает кнопку в течение некоторого времени, кнопка инструмента отображает меню, содержащее текущий список истории.
QToolButton::MenuButtonPopup 1 В этом режиме кнопка инструмента отображает специальную стрелку, чтобы указать, что присутствует меню. Меню отображается при нажатии на часть стрелки кнопки.
QToolButton::InstantPopup 2 Меню отображается без задержки при нажатии на кнопку инструмента. В этом режиме действие самой кнопки не выполняется.

Документация свойств

arrowType : Qt::ArrowType

Это свойство определяет, отображается ли на кнопке стрелка вместо обычного значка.

Это отображает стрелку как значок для QToolButton.

По умолчанию это свойство установлено в Qt::NoArrow.

Функции доступа:

Qt::ArrowType arrowType() const
void setArrowType(Qt::ArrowType type)

autoRaise : bool

Это свойство указывает, включен ли режим автоматического подъёма.

По умолчанию отключено (т.е. false).

Это свойство в настоящее время игнорируется в macOS при использовании QMacStyle.

Функции доступа:

bool autoRaise() const
void setAutoRaise(bool enable)

popupMode : ToolButtonPopupMode

описывает способ использования всплывающих меню с кнопками инструмента

По умолчанию это свойство установлено в DelayedPopup.

Функции доступа:

ToolButtonPopupMode popupMode() const
void setPopupMode(ToolButtonPopupMode mode)

toolButtonStyle : Qt::ToolButtonStyle

Это свойство определяет, отображает ли кнопка инструмента только значок, только текст или текст рядом/ниже значка.

По умолчанию — Qt::ToolButtonIconOnly.

Чтобы стиль кнопок инструмента соответствовал настройкам системы, установите это свойство в Qt::ToolButtonFollowStyle. В Unix будут использоваться пользовательские настройки из среды рабочего стола. На других платформах Qt::ToolButtonFollowStyle означает только значок.

QToolButton автоматически подключает этот слот к соответствующему сигналу в QMainWindow, в котором он находится.

Функции доступа:

Qt::ToolButtonStyle toolButtonStyle() const
void setToolButtonStyle(Qt::ToolButtonStyle style)

Документация по функциям членов

QToolButton::QToolButton(QWidget *parent = Q_NULLPTR)

Создаёт пустую кнопку инструмента с родителем parent.

QToolButton::~QToolButton()

Удаляет объект и освобождает все выделенные ресурсы.

[virtual protected] void QToolButton::actionEvent(QActionEvent *event)

Переопределено из QWidget::actionEvent().

[virtual protected] void QToolButton::changeEvent(QEvent *e)

Переопределено из QWidget::changeEvent().

QAction *QToolButton::defaultAction() const

Возвращает действие по умолчанию.

См. также setDefaultAction().

[virtual protected] void QToolButton::enterEvent(QEvent *e)

Переопределено из QWidget::enterEvent().

[virtual protected] bool QToolButton::event(QEvent *event)

Переопределено из QObject::event().

[virtual protected] bool QToolButton::hitButton(const QPoint &pos) const

Переопределено из QAbstractButton::hitButton().

[protected] void QToolButton::initStyleOption(QStyleOptionToolButton *option) const

Инициализирует option значениями из этой QToolButton. Этот метод полезен для подклассов, когда им нужен QStyleOptionToolButton, но они не хотят заполнять всю информацию сами.

См. также QStyleOption::initFrom().

[virtual protected] void QToolButton::leaveEvent(QEvent *e)

Переопределено из QWidget::leaveEvent().

QMenu *QToolButton::menu() const

Возвращает связанное меню или 0, если меню не определено.

См. также setMenu().

[virtual] QSize QToolButton::minimumSizeHint() const

Переопределено из QWidget::minimumSizeHint().

[virtual protected] void QToolButton::mousePressEvent(QMouseEvent *e)

Переопределено из QWidget::mousePressEvent().

[virtual protected] void QToolButton::mouseReleaseEvent(QMouseEvent *e)

Переопределено из QWidget::mouseReleaseEvent().

[virtual protected] void QToolButton::nextCheckState()

Переопределено из QAbstractButton::nextCheckState().

[virtual protected] void QToolButton::paintEvent(QPaintEvent *event)

Переопределено из QWidget::paintEvent().

Рисует кнопку в ответ на событие рисования.

[slot] void QToolButton::setDefaultAction(QAction *action)

Устанавливает действие по умолчанию в action.

Если кнопка инструмента имеет действие по умолчанию, то это действие определяет свойства кнопки, такие как текст, значок, всплывающая подсказка и т. д.

См. также defaultAction().

void QToolButton::setMenu(QMenu *menu)

Связывает заданный menu с этой кнопкой инструмента.

Меню будет отображаться в соответствии с режимом всплывания кнопки popupMode.

Владение меню кнопке инструмента не передается.

См. также menu().

[slot] void QToolButton::showMenu()

Отображает (вызывает всплывающее меню). Если такого меню нет, эта функция ничего не делает. Функция не возвращает значение, пока всплывающее меню не будет закрыто пользователем.

[virtual] QSize QToolButton::sizeHint() const

Переопределено из QWidget::sizeHint().

[virtual protected] void QToolButton::timerEvent(QTimerEvent *e)

Переопределено из QObject::timerEvent().

[signal] void QToolButton::triggered(QAction *action)

Этот сигнал испускается, когда заданное action срабатывает.

Действие также может быть связано с другими частями пользовательского интерфейса, такими как пункты меню и сочетания клавиш. Обмен действиями таким образом помогает сделать пользовательский интерфейс более согласованным и часто требует меньше усилий при реализации.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qtoolbutton.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API