Класс QAction
Класс QAction предоставляет абстрактное действие пользовательского интерфейса, которое может быть вставлено в виджеты. Подробнее...
| Заголовок: | #include <QAction> |
| qmake: | QT += widgets |
| Наследуется от: | QObject |
| Наследует: |
Публичные типы
| Перечисление | ActionEvent { Trigger, Hover } |
| Перечисление | MenuRole { NoRole, TextHeuristicRole, ApplicationSpecificRole, AboutQtRole, ..., QuitRole } |
| Перечисление | Priority { LowPriority, NormalPriority, HighPriority } |
Свойства
|
- 1 свойство унаследовано от QObject
Публичные функции
| QAction(QObject *parent) | |
| QAction(const QString &text, QObject *parent) | |
| QAction(const QIcon &icon, const QString &text, QObject *parent) | |
| ~QAction() | |
| QActionGroup * | actionGroup() const |
| void | activate(ActionEvent event) |
| QList<QGraphicsWidget *> | associatedGraphicsWidgets() const |
| QList<QWidget *> | associatedWidgets() const |
| bool | autoRepeat() const |
| QVariant | data() const |
| QFont | font() const |
| QIcon | icon() const |
| QString | iconText() const |
| bool | isCheckable() const |
| bool | isChecked() const |
| bool | isEnabled() const |
| bool | isIconVisibleInMenu() const |
| bool | isSeparator() const |
| bool | isVisible() const |
| QMenu * | menu() const |
| MenuRole | menuRole() const |
| QWidget * | parentWidget() const |
| Priority | priority() const |
| void | setActionGroup(QActionGroup *group) |
| void | setAutoRepeat(bool) |
| void | setCheckable(bool) |
| void | setData(const QVariant &userData) |
| void | setFont(const QFont &font) |
| void | setIcon(const QIcon &icon) |
| void | setIconText(const QString &text) |
| void | setIconVisibleInMenu(bool visible) |
| void | setMenu(QMenu *menu) |
| void | setMenuRole(MenuRole menuRole) |
| void | setPriority(Priority priority) |
| void | setSeparator(bool b) |
| void | setShortcut(const QKeySequence &shortcut) |
| void | setShortcutContext(Qt::ShortcutContext context) |
| void | setShortcuts(const QList<QKeySequence> &shortcuts) |
| void | setShortcuts(QKeySequence::StandardKey key) |
| void | setStatusTip(const QString &statusTip) |
| void | setText(const QString &text) |
| void | setToolTip(const QString &tip) |
| void | setWhatsThis(const QString &what) |
| QKeySequence | shortcut() const |
| Qt::ShortcutContext | shortcutContext() const |
| QList<QKeySequence> | shortcuts() const |
| bool | showStatusText(QWidget *widget = Q_NULLPTR) |
| QString | statusTip() const |
| QString | text() const |
| QString | toolTip() const |
| QString | whatsThis() const |
- 31 общедоступные функции, унаследованные от QObject
Общедоступные слоты
| void | hover() |
| void | setChecked(bool) |
| void | setDisabled(bool b) |
| void | setEnabled(bool) |
| void | setVisible(bool) |
| void | toggle() |
| void | trigger() |
- 1 общедоступный слот, унаследованный от QObject
Сигналы
| void | changed() |
| void | hovered() |
| void | toggled(bool checked) |
| void | triggered(bool checked = false) |
- 2 сигнала, унаследованные от QObject
Переопределённые защищённые функции
| виртуальный bool | событие(QEvent *e) |
- 9 защищённых функций унаследовано от QObject
Дополнительные унаследованные члены
- 11 статических публичных членов унаследовано от QObject
- 9 защищённых функций унаследовано от QObject
Подробное описание
Класс QAction предоставляет абстрактное действие пользовательского интерфейса, которое может быть вставлено в виджеты.
Во многих приложениях многие общие команды могут быть вызваны через меню, кнопки панели инструментов и сочетания клавиш. Поскольку пользователь ожидает, что каждая команда будет выполняться одинаково независимо от используемого пользовательского интерфейса, полезно представлять каждую команду как действие.
Действия могут быть добавлены в меню и панели инструментов и автоматически будут синхронизированы. Например, в текстовом редакторе, если пользователь нажимает на кнопку «Жирный» на панели инструментов, элемент меню «Жирный» автоматически будет помечен.
Действия могут быть созданы как независимые объекты, но они также могут быть созданы во время построения меню; класс QMenu содержит удобные функции для создания действий, подходящих для использования в качестве пунктов меню.
Действие QAction может содержать значок, текст меню, сочетание клавиш, текст статуса, текст «Что это?», и всплывающую подсказку. Большинство из них можно задать в конструкторе. Их также можно задать независимо с помощью setIcon(), setText(), setIconText(), setShortcut(), setStatusTip(), setWhatsThis(), и setToolTip(). Для пунктов меню можно установить отдельный шрифт с помощью setFont().
Действия добавляются в виджеты с помощью QWidget::addAction() или QGraphicsWidget::addAction(). Обратите внимание, что действие должно быть добавлено в виджет, прежде чем оно сможет быть использовано; это также верно, когда сочетание клавиш должно быть глобальным (т.е. Qt::ApplicationShortcut как Qt::ShortcutContext).
После создания действия QAction оно должно быть добавлено в соответствующее меню и панель инструментов, а затем подключено к слоту, который выполнит действие. Например:
const QIcon openIcon = QIcon::fromTheme("document-open", QIcon(":/images/open.png"));
QAction *openAct = new QAction(openIcon, tr("&Open..."), this);
openAct->setShortcuts(QKeySequence::Open);
openAct->setStatusTip(tr("Open an existing file"));
connect(openAct, &QAction::triggered, this, &MainWindow::open);
fileMenu->addAction(openAct);
fileToolBar->addAction(openAct); fileMenu->addAction(openAct);
Рекомендуется создавать действия как дочерние элементы окна, в котором они используются. В большинстве случаев действия будут дочерними элементами главного окна приложения.
См. также QMenu, QToolBar, и Пример приложения.
Документация по типам членов
перечисление QAction::ActionEvent
Этот тип перечисления используется при вызове QAction::activate()
| Постоянная | Значение | Описание |
|---|---|---|
QAction::Trigger |
0 |
это приведет к тому, что будет выпущен сигнал QAction::triggered(). |
QAction::Hover |
1 |
это приведет к тому, что будет выпущен сигнал QAction::hovered(). |
перечисление QAction::MenuRole
Это перечисление описывает, как действие должно быть перемещено в меню приложения на macOS.
| Постоянная | Значение | Описание |
|---|---|---|
QAction::NoRole |
0 |
Это действие не должно быть помещено в меню приложения |
QAction::TextHeuristicRole |
1 |
Это действие должно быть помещено в меню приложения на основе текста действия, как описано в документации QMenuBar. |
QAction::ApplicationSpecificRole |
2 |
Это действие должно быть помещено в меню приложения с ролью, специфичной для приложения |
QAction::AboutQtRole |
3 |
Это действие обрабатывает пункт меню «О Qt». |
QAction::AboutRole |
4 |
Это действие должно быть размещено там, где находится пункт меню «О» в меню приложения. Текст пункта меню будет установлен в «О <название_приложения>». Название приложения извлекается из файла Info.plist в пакете приложения (см. Qt для macOS — Развёртывание). |
QAction::PreferencesRole |
5 |
Это действие должно быть размещено там, где находится пункт меню «Настройки…» в меню приложения. |
QAction::QuitRole |
6 |
Это действие должно быть размещено там, где находится пункт меню «Выход» в меню приложения. |
Установка этого значения оказывает влияние только на элементы, которые находятся непосредственно в меню панели меню, а не в подменю этих меню. Например, если у вас есть меню «Файл» в вашей панели меню и меню «Файл» имеет подменю, установка MenuRole для действий в этом подменю не оказывает никакого эффекта. Они никогда не будут перемещены.
перечисление QAction::Priority
Это перечисление определяет приоритеты для действий в пользовательском интерфейсе.
| Постоянная | Значение | Описание |
|---|---|---|
QAction::LowPriority |
0 |
Действие не должно иметь приоритета в пользовательском интерфейсе. |
QAction::NormalPriority |
128 |
|
QAction::HighPriority |
256 |
Действие должно иметь приоритет в пользовательском интерфейсе. |
Это перечисление было введено или изменено в Qt 4.6.
См. также priority.
END_OF_DOCUMENT_MARKERДокументация свойств
autoRepeat : bool
Это свойство указывает, может ли действие автоматически повторяться
Если значение true, действие будет автоматически повторяться, когда комбинация клавиш удерживается, при условии, что автоматическое повторение клавиш включено в системе. Значение по умолчанию — true.
Это свойство было введено в Qt 4.2.
Функции доступа:
| bool | autoRepeat() const |
| void | setAutoRepeat(bool) |
Сигнал уведомления:
| void | changed() |
checkable : bool
Это свойство указывает, является ли действие действием со состоянием выбора
Действие со состоянием выбора — это действие, имеющее состояние включено/выключено. Например, в текстовом редакторе кнопка «Жирный» на панели инструментов может быть включена или выключена. Действие, не являющееся действием со состоянием выбора, является командным действием; командное действие просто выполняется, например, сохранение файла. По умолчанию это свойство равно false.
В некоторых ситуациях состояние одного действия со состоянием выбора должно зависеть от состояния других. Например, действия «Выравнивание по левому краю», «Центрирование» и «Выравнивание по правому краю» взаимоисключают друг друга. Чтобы обеспечить взаимоисключение, добавьте соответствующие действия со состоянием выбора в QActionGroup с свойством QActionGroup::exclusive, установленным в true.
Функции доступа:
| bool | isCheckable() const |
| void | setCheckable(bool) |
Сигнал уведомления:
| void | changed() |
См. также QAction::setChecked().
checked : bool
Это свойство указывает, выбрано ли действие.
Только действия со состоянием выбора могут быть выбраны. По умолчанию это false (действие не выбрано).
Функции доступа:
| bool | isChecked() const |
| void | setChecked(bool) |
Сигнал уведомления:
| void | toggled(bool checked) |
См. также checkable.
enabled : bool
Это свойство указывает, включено ли действие.
Отключенные действия не могут быть выбраны пользователем. Они не исчезают из меню или панелей инструментов, но отображаются так, что их недоступность видна. Например, они могут отображаться в оттенках серого.
Что это? Справка по отключенным действиям всё ещё доступна, при условии, что свойство QAction::whatsThis задано.
Действие будет отключено, когда все виджеты, к которым оно добавлено (с помощью QWidget::addAction()), будут отключены или невидимы. Когда действие отключено, его нельзя запустить с помощью сочетания клавиш.
По умолчанию это свойство равно true (действия включены).
Функции доступа:
| bool | isEnabled() const |
| void | setEnabled(bool) |
Сигнал уведомления:
| void | changed() |
См. также text.
font : QFont
Это свойство содержит шрифт действия
Свойство шрифта используется для отображения текста, установленного на QAction. Шрифт может рассматриваться как подсказка, так как он не используется во всех случаях, в зависимости от приложения и стиля.
По умолчанию это свойство содержит шрифт по умолчанию приложения.
Функции доступа:
| QFont | font() const |
| void | setFont(const QFont &font) |
Сигнал уведомления:
| void | changed() |
См. также QAction::setText() и QStyle.
icon : QIcon
Это свойство содержит значок действия
На панелях инструментов значок используется в качестве значка кнопки; в меню он отображается слева от текста меню. Значок по умолчанию отсутствует.
Если в эту функцию передается нулевой значок (QIcon::isNull()), значок действия очищается.
Функции доступа:
| QIcon | icon() const |
| void | setIcon(const QIcon &icon) |
Сигнал уведомления:
| void | changed() |
iconText : QString
Это свойство содержит описательный текст значка действия
Если QToolBar::toolButtonStyle установлено в значение, позволяющее отображать текст, текст, заданный в этом свойстве, отображается как метка на соответствующей кнопке панели инструментов.
Он также служит текстом по умолчанию в меню и всплывающих подсказках, если действие не определено с помощью setText() или setToolTip(), а также будет использоваться в кнопках панели инструментов, если не определен значок с помощью setIcon().
Если текст значка не установлен явно, для текста значка будет использоваться обычный текст действия.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | iconText() const |
| void | setIconText(const QString &text) |
Сигнал уведомления:
| void | changed() |
См. также setToolTip() и setStatusTip().
iconVisibleInMenu : bool
Это свойство указывает, должен ли значок действия отображаться в меню
В некоторых приложениях может быть логично иметь действия со значками на панели инструментов, но не в меню. Если true, значок (если он действителен) отображается в меню; если false, он не отображается.
По умолчанию он следует тому, установлено ли для приложения атрибут Qt::AA_DontShowIconsInMenus. Явное задание этого свойства переопределяет наличие (или отсутствие) атрибута.
Например:
QApplication app(argc, argv); app.setAttribute(Qt::AA_DontShowIconsInMenus); // Icons are *no longer shown* in menus // ... QAction *myAction = new QAction(); // ... myAction->setIcon(SomeIcon); myAction->setIconVisibleInMenu(true); // Icon *will* be shown in menus for *this* action.
Это свойство было введено в Qt 4.4.
Функции доступа:
| bool | isIconVisibleInMenu() const |
| void | setIconVisibleInMenu(bool visible) |
Сигнал уведомления:
| void | changed() |
См. также QAction::icon и QCoreApplication::setAttribute().
menuRole : MenuRole
Это свойство содержит роль действия в меню
Это указывает на роль действия в меню приложения на macOS. По умолчанию все действия имеют роль TextHeuristicRole, что означает, что действие добавляется на основе своего текста (см. QMenuBar для получения дополнительной информации).
Роль меню можно изменить только до добавления действий в строку меню на macOS (обычно непосредственно перед отображением первого окна приложения).
Это свойство было введено в Qt 4.2.
Функции доступа:
| MenuRole | menuRole() const |
| void | setMenuRole(MenuRole menuRole) |
Сигнал уведомления:
| void | changed() |
priority : Priority
Это свойство содержит приоритет действия в пользовательском интерфейсе.
Это свойство можно установить, чтобы указать, как действие должно быть приоритизировано в пользовательском интерфейсе.
Например, когда панели инструментов имеют режим Qt::ToolButtonTextBesideIcon, действия с LowPriority не будут отображать текстовые метки.
Это свойство было введено в Qt 4.6.
Функции доступа:
| Priority | priority() const |
| void | setPriority(Priority priority) |
shortcut : QKeySequence
Это свойство содержит основную комбинацию клавиш действия.
Действительные коды клавиш для этого свойства можно найти в Qt::Key и Qt::Modifier. Нет по умолчанию комбинации клавиш.
Функции доступа:
| QKeySequence | shortcut() const |
| void | setShortcut(const QKeySequence &shortcut) |
Сигнал уведомления:
| void | changed() |
shortcutContext : Qt::ShortcutContext
Это свойство содержит контекст для комбинации клавиш действия.
Действительные значения для этого свойства можно найти в Qt::ShortcutContext. Значение по умолчанию — Qt::WindowShortcut.
Функции доступа:
| Qt::ShortcutContext | shortcutContext() const |
| void | setShortcutContext(Qt::ShortcutContext context) |
Сигнал уведомления:
| void | changed() |
statusTip : QString
Это свойство содержит подсказку состояния действия.
Подсказка состояния отображается на всех строках состояния, предоставляемых родительским виджетом действия верхнего уровня.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | statusTip() const |
| void | setStatusTip(const QString &statusTip) |
Сигнал уведомления:
| void | changed() |
См. также setToolTip() и showStatusText().
text : QString
Это свойство содержит описательный текст действия.
Если действие добавлено в меню, элемент меню будет состоять из значка (если он есть), текста и комбинации клавиш (если она есть). Если текст не задан явно в конструкторе или с помощью setText(), то в качестве текста будет использован текст значка описания действия. Текста по умолчанию нет.
Функции доступа:
| QString | text() const |
| void | setText(const QString &text) |
Сигнал уведомления:
| void | changed() |
См. также iconText.
toolTip : QString
Это свойство содержит всплывающую подсказку действия.
Этот текст используется для всплывающей подсказки. Если всплывающая подсказка не указана, используется текст действия.
По умолчанию это свойство содержит текст действия.
Функции доступа:
| QString | toolTip() const |
| void | setToolTip(const QString &tip) |
Сигнал уведомления:
| void | changed() |
См. также setStatusTip() и setShortcut().
visible : bool
Это свойство определяет, отображается ли действие (например, в меню и на панелях инструментов).
Если visible равно true, действие отображается (например, в меню и на панелях инструментов) и может быть выбрано пользователем; если visible равно false, действие не отображается и не может быть выбрано пользователем.
Действия, которые не отображаются, не серые; они вообще не отображаются.
По умолчанию это свойство равно true (действия отображаются).
Функции доступа:
| bool | isVisible() const |
| void | setVisible(bool) |
Сигнал уведомления:
| void | changed() |
whatsThis : QString
Это свойство содержит текст справки "Что это?".
Текст "Что это?" используется для предоставления краткого описания действия. Текст может содержать форматированный текст. Текст "Что это?" по умолчанию отсутствует.
Функции доступа:
| QString | whatsThis() const |
| void | setWhatsThis(const QString &what) |
Сигнал уведомления:
| void | changed() |
См. также QWhatsThis.
Документация по членам-функциям
QAction::QAction(QObject *parent)
Создает действие с parent. Если parent является группой действий, действие будет автоматически вставлено в группу.
QAction::QAction(const QString &text, QObject *parent)
Создает действие с некоторым текстом text и parent. Если parent является группой действий, действие будет автоматически вставлено в группу.
Действие использует усечённую версию text (например, "&Вариант меню..." преобразуется в "Вариант меню") в качестве описательного текста для кнопок инструментов. Вы можете переопределить это, задав конкретное описание с помощью setText(). Тот же текст будет использоваться для всплывающих подсказок, если вы не укажете другой текст с помощью setToolTip().
QAction::QAction(const QIcon &icon, const QString &text, QObject *parent)
Создаёт действие с icon, некоторым текстом text и parent. Если parent является группой действий, действие будет автоматически вставлено в группу.
Действие использует усечённую версию text (например, "&Вариант меню..." преобразуется в "Вариант меню") в качестве описательного текста для кнопок инструментов. Вы можете переопределить это, задав конкретное описание с помощью setText(). Тот же текст будет использоваться для всплывающих подсказок, если вы не укажете другой текст с помощью setToolTip().
QAction::~QAction()
Уничтожает объект и освобождает выделенные ресурсы.
QActionGroup *QAction::actionGroup() const
Возвращает группу действий для данного действия. Если данное действие не управляется никакой группой действий, возвращается 0.
См. также QActionGroup и QAction::setActionGroup().
void QAction::activate(ActionEvent event)
Отправляет соответствующие сигналы для ActionEvent event.
Виджеты, основанные на действиях, используют этот API для вызова сигнала QAction, а также для отправки собственных сигналов.
QList<QGraphicsWidget *> QAction::associatedGraphicsWidgets() const
Возвращает список виджетов, к которым добавлено это действие.
Эта функция была добавлена в Qt 4.5.
См. также QWidget::addAction() и associatedWidgets().
QList<QWidget *> QAction::associatedWidgets() const
Возвращает список виджетов, к которым добавлено это действие.
Эта функция была добавлена в Qt 4.2.
См. также QWidget::addAction() и associatedGraphicsWidgets().
[signal] void QAction::changed()
Этот сигнал испускается, когда действие изменено. Если вас интересуют только действия в определённом виджете, вы можете наблюдать за QWidget::actionEvent(), отправленным с QEvent::ActionChanged.
Примечание: Сигнал уведомления для свойства autoRepeat. Сигнал уведомления для свойства checkable. Сигнал уведомления для свойства enabled. Сигнал уведомления для свойства font. Сигнал уведомления для свойства icon. Сигнал уведомления для свойства iconText. Сигнал уведомления для свойства iconVisibleInMenu. Сигнал уведомления для свойства menuRole. Сигнал уведомления для свойства shortcut. Сигнал уведомления для свойства shortcutContext. Сигнал уведомления для свойства statusTip. Сигнал уведомления для свойства text. Сигнал уведомления для свойства toolTip. Сигнал уведомления для свойства visible. Сигнал уведомления для свойства whatsThis.
См. также QWidget::actionEvent().
QVariant QAction::data() const
Возвращает данные пользователя, заданные в QAction::setData.
См. также setData().
[virtual protected] bool QAction::event(QEvent *e)
Переопределяет QObject::event().
[slot] void QAction::hover()
Это удобный слот, вызывающий activate(Hover).
[signal] void QAction::hovered()
Этот сигнал испускается, когда действие выделяется пользователем; например, когда пользователь приостанавливает курсор над пунктом меню, кнопкой на панели инструментов или нажимает комбинацию клавиш быстрого доступа действия.
См. также QAction::activate().
bool QAction::isSeparator() const
Возвращает true если это действие является разделителем; в противном случае возвращает false.
См. также QAction::setSeparator().
QMenu *QAction::menu() const
Возвращает меню, содержащее это действие. Действия, содержащие меню, могут использоваться для создания пунктов меню с подменю или вставляться в панели инструментов для создания кнопок с всплывающими меню.
См. также setMenu() и QMenu::addAction().
QWidget *QAction::parentWidget() const
Возвращает родительский виджет.
void QAction::setActionGroup(QActionGroup *group)
Устанавливает группу действий для этого действия в group. Действие будет автоматически добавлено в список действий группы.
Действия в группе будут взаимоисключающими.
См. также QActionGroup и QAction::actionGroup().
void QAction::setData(const QVariant &userData)
Устанавливает внутренние данные действия на заданные userData.
См. также data().
[slot] void QAction::setDisabled(bool b)
Это удобная функция для свойства enabled, которая полезна для подключений сигналов-слотов. Если b равно true, действие отключается; в противном случае оно включается.
void QAction::setMenu(QMenu *menu)
Устанавливает меню, содержащее это действие, на указанное menu.
См. также menu().
void QAction::setSeparator(bool b)
Если b равно true, это действие будет рассматриваться как разделитель.
Как отображается разделитель, зависит от виджета, в который он вставлен. В большинстве случаев текст, подменю и значок игнорируются для действий-разделителей.
См. также QAction::isSeparator().
void QAction::setShortcuts(const QList<QKeySequence> &shortcuts)
Устанавливает shortcuts как список быстродействий, которые вызывают действие. Первый элемент списка — основное быстродействие.
Эта функция была добавлена в Qt 4.2.
См. также shortcuts() и shortcut.
void QAction::setShortcuts(QKeySequence::StandardKey key)
Устанавливает список быстродействий, зависящий от платформы, на основе key. Результат вызова этой функции зависит от текущей платформы. Обратите внимание, что это действие может назначить несколько быстродействий. Если нужен только первичный ярлык, используйте setShortcut вместо этого.
Эта функция была добавлена в Qt 4.2.
См. также QKeySequence::keyBindings().
QKeySequence QAction::shortcut() const
Возвращает основное быстродействие.
Примечание: Функция-получатель для свойства shortcut.
См. также setShortcuts().
QList<QKeySequence> QAction::shortcuts() const
Возвращает список быстродействий, где основное быстродействие — первый элемент списка.
Эта функция была добавлена в Qt 4.2.
См. также setShortcuts().
bool QAction::showStatusText(QWidget *widget = Q_NULLPTR)
Обновляет соответствующую строку состояния для указанного widget, отправив QStatusTipEvent в родительский виджет. Возвращает true если событие было отправлено; в противном случае возвращает false.
Если указан нулевой виджет, событие отправляется родителю действия.
См. также statusTip.
[slot] void QAction::toggle()
Это удобная функция для свойства checked. Подключитесь к ней, чтобы изменить состояние проверки на противоположное.
[signal] void QAction::toggled(bool checked)
Этот сигнал испускается всякий раз, когда изменяется состояние проверки действия isChecked(). Это может быть результатом взаимодействия пользователя или вызова setChecked().
checked равно true, если действие выбрано, или false, если действие не выбрано.
Примечание: Сигнал уведомления для свойства checked.
См. также QAction::activate(), QAction::triggered() и checked.
[slot] void QAction::trigger()
Это удобный слот, вызывающий activate(Trigger).
[signal] void QAction::triggered(bool checked = false)
Этот сигнал излучается, когда пользователь активирует действие; например, когда пользователь щелкает по пункту меню, кнопке на панели инструментов или нажимает сочетание клавиш действия, или когда вызвана функция trigger(). Обратите внимание, что он не излучается, когда вызывается функция setChecked() или toggle().
Если действие может быть помечено как отмеченное, checked имеет значение true, если действие отмечено, или false, если действие не отмечено.
См. также QAction::activate(), QAction::toggled(), и checked.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qaction.html