Класс 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.
| Панель инструментов Qt Assistant содержит кнопки инструмента, связанные с действиями, используемыми в других частях главного окна. |
См. также QPushButton, QToolBar, QMainWindow, QAction и Руководство по проектированию пользовательского интерфейса: Кнопка.
Документация по типам членов
enum QToolButton::ToolButtonPopupMode
Описывает, как должно всплывать меню для кнопок инструмента, которые имеют заданное меню или содержат список действий.
| Константа | Значение | Описание |
|---|---|---|
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