Spec-Zone.ru › Qt 5.9

Класс QShortcut

Класс QShortcut используется для создания сочетаний клавиш. Подробнее...

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

Свойства

  • autoRepeat : bool
  • context : Qt::ShortcutContext
  • enabled : bool
  • key : QKeySequence
  • whatsThis : QString
  • 1 свойство унаследовано от QObject

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

QShortcut(QWidget *parent)
QShortcut(const QKeySequence &key, QWidget *parent, const char *member = Q_NULLPTR, const char *ambiguousMember = Q_NULLPTR, Qt::ShortcutContext context = Qt::WindowShortcut)
~QShortcut()
bool autoRepeat() const
Qt::ShortcutContext context() const
int id() const
bool isEnabled() const
QKeySequence key() const
QWidget * parentWidget() const
void setAutoRepeat(bool on)
void setContext(Qt::ShortcutContext context)
void setEnabled(bool enable)
void setKey(const QKeySequence &key)
void setWhatsThis(const QString &text)
QString whatsThis() const
  • 32 открытые функции унаследованы от QObject

Сигналы

void activated()
void activatedAmbiguously()
  • 2 сигнала унаследованы от QObject

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

  • 1 открытый слот унаследован от QObject
  • 11 статические открытые члены унаследованы от QObject
  • 9 защищённые функции унаследованы от QObject

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

Класс QShortcut используется для создания сочетаний клавиш.

Класс QShortcut предоставляет способ подключения сочетаний клавиш к механизму сигналов и слотов Qt, чтобы объекты могли получать информацию при выполнении сочетания клавиш. Сочетание может включать все нажатия клавиш, необходимые для описания сочетания клавиш, включая состояния модификаторных клавиш, таких как Shift, Ctrl и Alt.

В некоторых виджетах использование '&' перед символом автоматически создаст мнемоническое обозначение (сочетание клавиш) для этого символа, например, "E&xit" создаст сочетание Alt+X (используйте '&&', чтобы отобразить фактический амперсанд). Виджет может потреблять и выполнять действие для заданного сочетания клавиш. В X11 амперсанд не отображается, а символ подчеркивается. В Windows сочетания клавиш обычно не отображаются, пока пользователь не нажмёт клавишу Alt, но это можно изменить в настройках. На Mac сочетания клавиш по умолчанию отключены. Используйте qt_set_sequence_auto_mnemonic(), чтобы включить их. Однако, поскольку мнемонические сочетания не соответствуют рекомендациям Aqua, Qt не будет отображать символ сочетания клавиш подчеркнутым.

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

Самый простой способ создать сочетание для определённого виджета — это создать сочетание с помощью последовательности клавиш. Например:

shortcut = new QShortcut(QKeySequence(tr("Ctrl+O", "File|Open")),
                         parent);

Когда пользователь вводит последовательность клавиш для определенного сочетания клавиш, посылается сигнал activated() сочетания клавиш. (В случае неоднозначности посылается сигнал activatedAmbiguously().) Сочетание клавиш "прослушивается" циклом событий Qt, когда родительский виджет сочетания получает события.

Последовательность клавиш сочетания клавиш можно установить с помощью setKey() и получить с помощью key(). Сочетание клавиш можно включить или выключить с помощью setEnabled(), и к нему можно добавить подсказку "Что это?" с помощью setWhatsThis().

См. также QShortcutEvent, QKeySequence и QAction.

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

autoRepeat : bool

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

Если значение истинно, ярлык будет автоматически повторяться при удерживании комбинации клавиш, при условии, что автоматическое повторение клавиш включено в системе. Значение по умолчанию — истинно.

Это свойство было введено в Qt 4.2.

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

bool autoRepeat() const
void setAutoRepeat(bool on)

context : Qt::ShortcutContext

Это свойство содержит контекст, в котором ярлык действителен.

Контекст ярлыка определяет, в каких обстоятельствах ярлык может быть активирован. Нормальный контекст — Qt::WindowShortcut, который позволяет активировать ярлык, если родительский (виджет, содержащий ярлык) является дочерним виджетом активного окна верхнего уровня.

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

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

Qt::ShortcutContext context() const
void setContext(Qt::ShortcutContext context)

enabled : bool

Это свойство указывает, включён ли ярлык.

Включенный ярлык отправляет сигнал activated() или activatedAmbiguously(), когда происходит событие QShortcutEvent, соответствующее последовательности клавиш key().

Если приложение находится в режиме WhatsThis , ярлык не будет отправлять сигналы, но вместо этого отобразит текст «Что это?».

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

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

bool isEnabled() const
void setEnabled(bool enable)

См. такжеwhatsThis.

key : QKeySequence

Это свойство содержит последовательность клавиш ярлыка.

Это последовательность клавиш с необязательной комбинацией Shift, Ctrl и Alt. Последовательность клавиш может быть задана несколькими способами:

setKey(0);                  // no signal emitted
setKey(QKeySequence());     // no signal emitted
setKey(0x3b1);              // Greek letter alpha
setKey(Qt::Key_D);              // 'd', e.g. to delete
setKey('q');                // 'q', e.g. to quit
setKey(Qt::CTRL + Qt::Key_P);       // Ctrl+P, e.g. to print document
setKey("Ctrl+P");           // Ctrl+P, e.g. to print document

По умолчанию это свойство содержит пустую последовательность клавиш.

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

QKeySequence key() const
void setKey(const QKeySequence &key)

whatsThis : QString

Это свойство содержит текст справки «Что это?» для ярлыка.

Текст будет отображаться, когда приложение находится в режиме «Что это?» и пользователь вводит последовательность клавиш key().

Чтобы задать справку «Что это?» для пункта меню (с или без клавиши ярлыка), задайте справку для действия пункта меню.

По умолчанию это свойство содержит пустую строку.

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

QString whatsThis() const
void setWhatsThis(const QString &text)

См. также QWhatsThis::inWhatsThisMode() и QAction::setWhatsThis().

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

QShortcut::QShortcut(QWidget *parent)

Конструирует объект QShortcut для виджета parent. Поскольку последовательность клавиш ярлыка не указана, ярлык не будет отправлять сигналы.

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

QShortcut::QShortcut(const QKeySequence &key, QWidget *parent, const char *member = Q_NULLPTR, const char *ambiguousMember = Q_NULLPTR, Qt::ShortcutContext context = Qt::WindowShortcut)

Конструирует объект QShortcut для виджета parent. Ярлык работает с его родителем, прослушивая события QShortcutEvent, соответствующие последовательности key. В зависимости от неоднозначности события, ярлык вызовет функцию member или функцию ambiguousMember, если нажатие клавиш находилось в контексте context ярлыка.

QShortcut::~QShortcut()

Уничтожает ярлык.

[signal] void QShortcut::activated()

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

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

[signal] void QShortcut::activatedAmbiguously()

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

Когда последовательность клавиш ярлыка завершается, activatedAmbiguously() отправляется, если последовательность клавиш по-прежнему неоднозначна (т. е., она является началом одного или нескольких других ярлыков). В этом случае сигнал activated() не отправляется.

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

int QShortcut::id() const

Возвращает идентификатор ярлыка.

См. также QShortcutEvent::shortcutId().

QWidget *QShortcut::parentWidget() const

Возвращает родительский виджет ярлыка.

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

Spec-Zone.ru

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