Spec-Zone.ru › Qt 6.1

Класс 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() сокращения к функтору.

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

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

Эта функция была введена в 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 для parent, который должен быть объектом 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

Возвращает ID основного сочетания клавиш.

См. также 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)

Устанавливает подсказку "Что это?" (What's This?) для сокращения, текст text.

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

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

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

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

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

QString QShortcut::whatsThis() const

Возвращает текст подсказки "Что это?" (What's This?) для сокращения.

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

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

Spec-Zone.ru

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