Spec-Zone.ru › Qt

Класс QShortcut

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

Заголовок: #include <QShortcut>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследуется от: QObject
  • Список всех членов, включая унаследованные

Свойства

  • autoRepeat : bool
  • context : Qt::ShortcutContext
  • enabled : bool
  • key : QKeySequence

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

QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
QShortcut(QObject *parent)
virtual ~QShortcut()
bool autoRepeat() const
Qt::ShortcutContext context() const
int id() const
bool isEnabled() const
QKeySequence key() const
QList<QKeySequence> keys() const
QWidget * parentWidget() const
void setAutoRepeat(bool on)
void setContext(Qt::ShortcutContext context)
void setEnabled(bool enable)
void setKey(const QKeySequence &key)
void setKeys(QKeySequence::StandardKey key)
void setKeys(const QList<QKeySequence> &keys)
void setWhatsThis(const QString &text)
QString whatsThis() const

Сигналы

void activated()
void activatedAmbiguously()

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

Класс 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

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

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

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

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)

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

[since 6.0] template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() сочетания клавиш к functor, а сигнал activatedAmbiguously() — к functorAmbiguous.

Functor может быть указателем на член-функцию объекта context1. FunctorAmbiguous может быть указателем на член-функцию объекта context2.

Если объект context1 уничтожен, functor не будет вызван. Если объект context2 уничтожен, functorAmbiguous не будет вызван.

Эта функция была добавлена в Qt 6.0.

[since 6.0] template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() сочетания клавиш к functor, а сигнал activatedAmbiguously() — к functorAmbiguous.

Functor и functorAmbiguous могут быть указателями на член-функцию объекта context.

Если объект context уничтожен, functor и functorAmbiguous не будут вызваны.

Эта функция была добавлена в Qt 6.0.

[since 6.0] template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() сочетания клавиш к functor.

Functor может быть указателем на член-функцию объекта context.

Если объект context уничтожен, functor не будет вызван.

Эта функция была добавлена в Qt 6.0.

[since 6.0] template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() сочетания клавиш к functor.

Эта функция была добавлена в Qt 6.0.

[since 5.15] template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() сочетания клавиш к functor, а сигнал activatedAmbiguously() — к functorAmbiguous.

Functor может быть указателем на член-функцию объекта context1. FunctorAmbiguous может быть указателем на член-функцию объекта context2.

Если объект context1 уничтожен, functor не будет вызван. Если объект context2 уничтожен, functorAmbiguous не будет вызван.

Эта функция была добавлена в Qt 5.15.

[since 5.15] template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() сочетания клавиш к functor, а сигнал activatedAmbiguously() — к functorAmbiguous.

Functor и functorAmbiguous могут быть указателями на член-функцию объекта context.

Если объект context уничтожен, functor и functorAmbiguous не будут вызваны.

Эта функция была добавлена в Qt 5.15.

[since 5.15] template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() ярлыка к функтору.

Функтор может быть указателем на член-функцию объекта контекста.

Если объект контекста уничтожен, функтор не будет вызван.

Эта функция была введена в Qt 5.15.

[since 5.15] template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)

Это перегруженная функция.

Это удобный конструктор QShortcut, который подключает сигнал activated() ярлыка к функтору.

Эта функция была введена в Qt 5.15.

[since 6.0] QShortcut::QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)

Создаёт объект QShortcut для родителя, который должен быть QWindow или QWidget.

Ярлык работает с родителем, прослушивая QShortcutEvent которые соответствуют standardKey. В зависимости от неоднозначности события, ярлык вызовет функцию member или функцию ambiguousMember, если нажатие клавиши произошло в контексте context ярлыка.

Эта функция была введена в Qt 6.0.

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

Создаёт объект QShortcut для родителя, который должен быть QWindow или QWidget.

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

QShortcut::QShortcut(QObject *parent)

Создаёт объект QShortcut для родителя, который должен быть QWindow или QWidget.

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

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

[signal] void QShortcut::activated()

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

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

[signal] void QShortcut::activatedAmbiguously()

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

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

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

[virtual] QShortcut::~QShortcut()

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

int QShortcut::id() const

Возвращает идентификатор первичной привязки клавиш.

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

[since 6.0] QList<QKeySequence> QShortcut::keys() const

Возвращает список последовательностей клавиш, которые запускают этот ярлык.

Эта функция была введена в Qt 6.0.

См. также key и setKeys().

QWidget *QShortcut::parentWidget() const

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

[since 6.0] void QShortcut::setKeys(QKeySequence::StandardKey key)

Устанавливает триггеры, соответствующие стандартной клавише key.

Эта функция была введена в Qt 6.0.

См. также key и keys().

[since 6.0] void QShortcut::setKeys(const QList<QKeySequence> &keys)

Устанавливает keys как список последовательностей клавиш, которые запускают ярлык.

Эта функция была введена в Qt 6.0.

См. также key и keys().

void QShortcut::setWhatsThis(const QString &text)

Устанавливает подсказку "Что это?" для ярлыка.

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

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

По умолчанию текст подсказки — пустая строка.

Эта функция не оказывает никакого эффекта в приложениях, которые не используют виджеты.

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

QString QShortcut::whatsThis() const

Возвращает текст подсказки "Что это?" для ярлыка.

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

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

Spec-Zone.ru

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