Spec-Zone.ru › Qt 5.9

Класс QKeySequence

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

Подробнее...

Заголовок: #include <QKeySequence>
qmake: QT += gui
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые типы

перечисление SequenceFormat { NativeText, PortableText }
перечисление SequenceMatch { НетСовпадения, ЧастичноеСовпадение, ТочноеСовпадение }
перечисление StandardKey { ДобавитьВкладку, Назад, Удалить, Жирный, ..., Отмена }

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

QKeySequence()
QKeySequence(const QString &key, SequenceFormat format = NativeText)
QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0)
QKeySequence(const QKeySequence &keysequence)
QKeySequence(StandardKey key)
~QKeySequence()
int count() const
bool isEmpty() const
SequenceMatch matches(const QKeySequence &seq) const
void swap(QKeySequence &other)
QString toString(SequenceFormat format = PortableText) const
operator QVariant() const
bool operator!=(const QKeySequence &other) const
bool operator<(const QKeySequence &other) const

Статические открытые члены

Связанные нечлены

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

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

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

Последовательности клавиш могут быть созданы для использования в качестве ярлыков клавиатуры тремя различными способами:

  • Для стандартных ярлыков можно использовать стандартную клавишу, чтобы запросить платформенно-специфическую последовательность клавиш, связанную с каждым ярлыком.
  • Для пользовательских ярлыков можно использовать удобочитаемые строки, такие как "Ctrl+X", и их можно перевести в соответствующие сочетания клавиш для пользователей разных языков. Переводы выполняются в контексте "QShortcut".
  • Для жестко закодированных ярлыков можно указать целочисленные коды клавиш с комбинацией значений, определенных перечислениями Qt::Key и Qt::Modifier. Каждый код клавиши состоит из одного значения Qt::Key и нуля или более модификаторов, таких как Qt::SHIFT, Qt::CTRL, Qt::ALT и Qt::META.

Например, Ctrl P может быть последовательностью, используемой в качестве ярлыка для печати документа, и может быть указана любым из следующих способов:

QKeySequence(QKeySequence::Print);
QKeySequence(tr("Ctrl+P"));
QKeySequence(tr("Ctrl+p"));
QKeySequence(Qt::CTRL + Qt::Key_P);

Обратите внимание, что для букв регистр, используемый в строке спецификации, не имеет значения. В приведенных выше примерах пользователю не нужно удерживать клавишу Shift, чтобы активировать ярлык, указанный с помощью "Ctrl+P". Однако для других клавиш использование Shift в качестве неуказанного дополнительного модификатора может привести к путанице для пользователей приложения, у которых клавиатуры имеют другие раскладки, чем у разработчиков. Дополнительные сведения см. в разделе Проблемы с раскладкой клавиатуры ниже.

В идеале следует использовать стандартные ярлыки, когда это возможно. При создании последовательностей клавиш для нестандартных ярлыков следует использовать удобочитаемые строки вместо жестко закодированных целочисленных значений.

Объекты QKeySequence могут быть преобразованы в QString для получения удобочитаемой переведенной версии последовательности. Аналогично, функция toString() производит удобочитаемые строки для использования в меню. В macOS используются соответствующие символы для описания ярлыков клавиатуры, использующих специальные клавиши на клавиатуре Macintosh.

Альтернативный способ указания жестко закодированных кодов клавиш — использование кода Юникода символа; например, 'A' дает ту же последовательность клавиш, что и Qt::Key_A.

Примечание: В macOS ссылки на "Ctrl", Qt::CTRL, Qt::Key_Control и Qt::ControlModifier соответствуют клавишам Command на клавиатуре Macintosh, а ссылки на "Meta", Qt::META, Qt::Key_Meta и Qt::MetaModifier соответствуют клавишам Control. Разработчики в macOS могут использовать одни и те же описания ярлыков на всех платформах, и их приложения будут работать так, как ожидается, на macOS.

Стандартные ярлыки

QKeySequence определяет множество стандартных сочетаний клавиш, чтобы уменьшить количество усилий, требуемых при настройке действий в типовом приложении. В таблице ниже показаны некоторые распространенные сочетания клавиш, которые часто используются приложениями для этих стандартных сочетаний клавиш на четырёх широко используемых платформах. Обратите внимание, что на macOS значение Ctrl соответствует клавишам Command на клавиатуре Macintosh, а значение Meta соответствует клавишам Control.

StandardKey Windows macOS KDE GNOME
HelpContents F1 Ctrl+? F1 F1
WhatsThis Shift+F1 Shift+F1 Shift+F1 Shift+F1
Открыть Ctrl+O Ctrl+O Ctrl+O Ctrl+O
Закрыть Ctrl+F4, Ctrl+W Ctrl+W, Ctrl+F4 Ctrl+W Ctrl+W
Сохранить Ctrl+S Ctrl+S Ctrl+S Ctrl+S
Выход Ctrl+Q Ctrl+Q Ctrl+Q
Сохранить как Ctrl+Shift+S Ctrl+Shift+S
Новый Ctrl+N Ctrl+N Ctrl+N Ctrl+N
Удалить Del Del, Meta+D Del, Ctrl+D Del, Ctrl+D
Вырезать Ctrl+X, Shift+Del Ctrl+X, Meta+K Ctrl+X, F20, Shift+Del Ctrl+X, F20, Shift+Del
Копировать Ctrl+C, Ctrl+Ins Ctrl+C Ctrl+C, F16, Ctrl+Ins Ctrl+C, F16, Ctrl+Ins
Вставить Ctrl+V, Shift+Ins Ctrl+V, Meta+Y Ctrl+V, F18, Shift+Ins Ctrl+V, F18, Shift+Ins
Настройки Ctrl+,
Отменить Ctrl+Z, Alt+Backspace Ctrl+Z Ctrl+Z, F14 Ctrl+Z, F14
Повторить Ctrl+Y, Shift+Ctrl+Z, Alt+Shift+Backspace Ctrl+Shift+Z Ctrl+Shift+Z Ctrl+Shift+Z
Назад Alt+Left, Backspace Ctrl+[ Alt+Left Alt+Left
Вперед Alt+Right, Shift+Backspace Ctrl+] Alt+Right Alt+Right
Обновить F5 F5 F5 Ctrl+R, F5
Увеличить масштаб Ctrl+Plus Ctrl+Plus Ctrl+Plus Ctrl+Plus
Уменьшить масштаб Ctrl+Minus Ctrl+Minus Ctrl+Minus Ctrl+Minus
Полный экран F11, Alt+Enter Ctrl+Meta+F F11, Ctrl+Shift+F Ctrl+F11
Печать Ctrl+P Ctrl+P Ctrl+P Ctrl+P
Добавить вкладку Ctrl+T Ctrl+T Ctrl+Shift+N, Ctrl+T Ctrl+T
Следующий элемент Ctrl+Tab, Вперед, Ctrl+F6 Ctrl+}, Вперед, Ctrl+Tab Ctrl+Tab, Вперед, Ctrl+Comma Ctrl+Tab, Вперед
Предыдущий элемент Ctrl+Shift+Tab, Назад, Ctrl+Shift+F6 Ctrl+{, Назад, Ctrl+Shift+Tab Ctrl+Shift+Tab, Назад, Ctrl+Period Ctrl+Shift+Tab, Назад
Поиск Ctrl+F Ctrl+F Ctrl+F Ctrl+F
Следующий результат поиска F3, Ctrl+G Ctrl+G F3 Ctrl+G, F3
Предыдущий результат поиска Shift+F3, Ctrl+Shift+G Ctrl+Shift+G Shift+F3 Ctrl+Shift+G, Shift+F3
Замена Ctrl+H (none) Ctrl+R Ctrl+H
Выделить всё Ctrl+A Ctrl+A Ctrl+A Ctrl+A
Отменить выделение Ctrl+Shift+A Ctrl+Shift+A
Жирный шрифт Ctrl+B Ctrl+B Ctrl+B Ctrl+B
Курсив Ctrl+I Ctrl+I Ctrl+I Ctrl+I
Подчеркнутый Ctrl+U Ctrl+U Ctrl+U Ctrl+U
Переместить на следующую букву Вправо Вправо, Meta+F Вправо Вправо
Переместить на предыдущую букву Влево Влево, Meta+B Влево Влево
Переместить на следующее слово Ctrl+Вправо Alt+Вправо Ctrl+Вправо Ctrl+Вправо
Переместить на предыдущее слово Ctrl+Влево Alt+Влево Ctrl+Влево Ctrl+Влево
Переместить на следующую строку Вниз Вниз, Meta+N Вниз Вниз
Переместить на предыдущую строку Вверх Вверх, Meta+P Вверх Вверх
Переместить на следующую страницу PgDown PgDown, Alt+PgDown, Meta+Вниз, Meta+PgDown, Meta+V PgDown PgDown
Переместить на предыдущую страницу PgUp PgUp, Alt+PgUp, Meta+Вверх, Meta+PgUp PgUp PgUp
Переместить в начало строки Home Ctrl+Влево, Meta+Влево Home Home
Переместить в конец строки End Ctrl+Вправо, Meta+Вправо End, Ctrl+E End, Ctrl+E
Переместить в начало блока (none) Alt+Вверх, Meta+A (none) (none)
Переместить в конец блока (none) Alt+Вниз, Meta+E (none) (none)
Переместить в начало документа Ctrl+Home Ctrl+Вверх, Home Ctrl+Home Ctrl+Home
Переместить в конец документа Ctrl+End Ctrl+Вниз, End Ctrl+End Ctrl+End
Выделить следующую букву Shift+Вправо Shift+Вправо Shift+Вправо Shift+Вправо
Выделить предыдущую букву Shift+Влево Shift+Влево Shift+Влево Shift+Влево
Выделить следующее слово Ctrl+Shift+Вправо Alt+Shift+Вправо Ctrl+Shift+Вправо Ctrl+Shift+Вправо
Выделить предыдущее слово Ctrl+Shift+Влево Alt+Shift+Влево Ctrl+Shift+Влево Ctrl+Shift+Влево
Выделить следующую строку Shift+Вниз Shift+Вниз Shift+Вниз Shift+Вниз
Выделить предыдущую строку Shift+Вверх Shift+Вверх Shift+Вверх Shift+Вверх
Выделить следующую страницу Shift+PgDown Shift+PgDown Shift+PgDown Shift+PgDown
Выделить предыдущую страницу Shift+PgUp Shift+PgUp Shift+PgUp Shift+PgUp
Выделить начало строки Shift+Home Ctrl+Shift+Влево Shift+Home Shift+Home
Выделить конец строки Shift+End Ctrl+Shift+Вправо Shift+End Shift+End
Выделить начало блока (none) Alt+Shift+Вверх, Meta+Shift+A (none) (none)
Выделить конец блока (none) Alt+Shift+Вниз, Meta+Shift+E (none) (none)
Выделить начало документа Ctrl+Shift+Home Ctrl+Shift+Вверх, Shift+Home Ctrl+Shift+Home Ctrl+Shift+Home
Выделить конец документа Ctrl+Shift+End Ctrl+Shift+Вниз, Shift+End Ctrl+Shift+End Ctrl+Shift+End
Удалить начало слова Ctrl+Backspace Alt+Backspace Ctrl+Backspace Ctrl+Backspace
Удалить конец слова Ctrl+Del (none) Ctrl+Del Ctrl+Del
Удалить конец строки (none) (none) Ctrl+K Ctrl+K
Удалить всю строку (none) (none) Ctrl+U Ctrl+U
Вставить разделитель абзацев Enter Enter Enter Enter
Вставить разделитель строк Shift+Enter Meta+Enter, Meta+O Shift+Enter Shift+Enter
Backspace (none) Meta+H (none) (none)
Отмена Escape Escape, Ctrl+. Escape Escape

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

Проблемы с раскладкой клавиатуры

Многие спецификации последовательностей клавиш выбираются разработчиками на основе раскладки определенных типов клавиатур, а не выбора клавиш, которые представляют собой первую букву названия действия, например, Ctrl S («Ctrl+S») или Ctrl C («Ctrl+C»). Кроме того, поскольку некоторые символы могут вводиться только с помощью модификаторных клавиш на определенных раскладках клавиатуры, последовательности клавиш, предназначенные для использования с одной раскладкой клавиатуры, могут отображаться как другая клавиша, вообще не отображаться или требовать дополнительной модификаторной клавиши для использования на других раскладках клавиатуры.

Например, ярлыки Ctrl plus и Ctrl minus часто используются в качестве ярлыков для операций масштабирования в графических приложениях, и они могут быть указаны соответственно как «Ctrl++» и «Ctrl+-». Однако способ указания и интерпретации этих ярлыков зависит от раскладки клавиатуры. Пользователи норвежских клавиатур заметят, что клавиши + и - не расположены рядом на клавиатуре, но все же смогут активировать оба ярлыка, не нажимая клавишу Shift. Однако пользователи британских клавиатур должны удерживать клавишу Shift, чтобы ввести символ +, что делает ярлык фактически таким же, как «Ctrl+Shift+='».

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

Например, разработчик, использующий британскую клавиатуру, может решить указать «Ctrl+Shift+='» в качестве последовательности клавиш, чтобы создать ярлык, который случайно ведет себя так же, как Ctrl plus. Однако для доступа к клавише = на норвежской клавиатуре требуется нажать клавишу Shift, что делает необходимый ярлык фактически Ctrl Shift Shift = (невозможная комбинация клавиш).

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

Несмотря на это, мы можем решить эту проблему, гарантируя, что используются удобочитаемые строки, что позволяет производить переводы последовательностей клавиш для пользователей разных языков. Этот подход будет успешным для пользователей, у которых клавиатуры имеют наиболее типичную раскладку для языка, который они используют.

Последовательности клавиш в стиле GNU Emacs

Последовательности клавиш, аналогичные тем, которые используются в GNU Emacs, позволяющие использовать до четырех кодов клавиш, могут быть созданы с помощью конструктора с несколькими аргументами или путем передачи удобочитаемой строки с запятыми, разделяющими последовательности клавиш.

Например, последовательность клавиш Ctrl X, за которой следует Ctrl C, может быть указана одним из следующих способов:

QKeySequence(tr("Ctrl+X, Ctrl+C"));
QKeySequence(Qt::CTRL + Qt::Key_X, Qt::CTRL + Qt::Key_C);

Предупреждение: Экземпляр QApplication должен быть создан до создания QKeySequence; в противном случае ваше приложение может завершиться сбоем.

См. также QShortcut.

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

enum QKeySequence::SequenceFormat

Постоянная Значение Описание
QKeySequence::NativeText 0 Последовательность клавиш в виде платформозависимой строки. Это означает, что она будет отображаться переведенной, а на Mac она будет напоминать последовательность клавиш из панели меню. Этот перечисление лучше всего использовать, когда вы хотите отобразить строку пользователю.
QKeySequence::PortableText 1 Последовательность клавиш представлена в «портативном» формате, подходящем для чтения и записи в файл. Во многих случаях она будет выглядеть подобно исходному тексту в Windows и X11.

enum QKeySequence::SequenceMatch

Постоянная Значение Описание
QKeySequence::NoMatch 0 Последовательности клавиш различны; даже частичного совпадения нет.
QKeySequence::PartialMatch 1 Последовательности клавиш частично совпадают, но не совпадают полностью.
QKeySequence::ExactMatch 2 Последовательности клавиш совпадают.

enum QKeySequence::StandardKey

Это перечисление представляет стандартные сочетания клавиш. Они могут использоваться для назначения платформозависимых сочетаний клавиш для QAction.

Обратите внимание, что сочетания клавиш зависят от платформы. Текущие привязки сочетаний клавиш можно запросить, используя keyBindings().

Постоянная Значение Описание
QKeySequence::AddTab 19 Добавить новую вкладку.
QKeySequence::Back 13 Навигация назад.
QKeySequence::Backspace 69 Удалить предыдущий символ.
QKeySequence::Bold 27 Жирный текст.
QKeySequence::Close 4 Закрыть документ/вкладку.
QKeySequence::Copy 9 Копировать.
QKeySequence::Cut 8 Вырезать.
QKeySequence::Delete 7 Удалить.
QKeySequence::DeleteEndOfLine 60 Удалить конец строки.
QKeySequence::DeleteEndOfWord 59 Удалить слово от конца курсора.
QKeySequence::DeleteStartOfWord 58 Удалить начало слова до курсора.
QKeySequence::DeleteCompleteLine 68 Удалить всю строку.
QKeySequence::Find 22 Найти в документе.
QKeySequence::FindNext 23 Найти следующий результат.
QKeySequence::FindPrevious 24 Найти предыдущий результат.
QKeySequence::Forward 14 Навигация вперед.
QKeySequence::HelpContents 1 Открыть содержание справки.
QKeySequence::InsertLineSeparator 62 Вставить новую строку.
QKeySequence::InsertParagraphSeparator 61 Вставить новый абзац.
QKeySequence::Italic 28 Курсивный текст.
QKeySequence::MoveToEndOfBlock 41 Переместить курсор в конец блока. Этот ярлык используется только на macOS.
QKeySequence::MoveToEndOfDocument 43 Переместить курсор в конец документа.
QKeySequence::MoveToEndOfLine 39 Переместить курсор в конец строки.
QKeySequence::MoveToNextChar 30 Переместить курсор к следующему символу.
QKeySequence::MoveToNextLine 34 Переместить курсор к следующей строке.
QKeySequence::MoveToNextPage 36 Переместить курсор к следующей странице.
QKeySequence::MoveToNextWord 32 Переместить курсор к следующему слову.
QKeySequence::MoveToPreviousChar 31 Переместить курсор к предыдущему символу.
QKeySequence::MoveToPreviousLine 35 Переместить курсор к предыдущей строке.
QKeySequence::MoveToPreviousPage 37 Переместить курсор к предыдущей странице.
QKeySequence::MoveToPreviousWord 33 Переместить курсор к предыдущему слову.
QKeySequence::MoveToStartOfBlock 40 Переместить курсор в начало блока. Этот ярлык используется только на macOS.
QKeySequence::MoveToStartOfDocument 42 Переместить курсор в начало документа.
QKeySequence::MoveToStartOfLine 38 Переместить курсор в начало строки.
QKeySequence::New 6 Создать новый документ.
QKeySequence::NextChild 20 Перейти к следующей вкладке или дочернему окну.
QKeySequence::Open 3 Открыть документ.
QKeySequence::Paste 10 Вставить.
QKeySequence::Preferences 64 Открыть диалог настроек.
QKeySequence::PreviousChild 21 Перейти к предыдущей вкладке или дочернему окну.
QKeySequence::Print 18 Печать документа.
QKeySequence::Quit 65 Выход из приложения.
QKeySequence::Redo 12 Повторить.
QKeySequence::Refresh 15 Обновить или перезагрузить текущий документ.
QKeySequence::Replace 25 Найти и заменить.
QKeySequence::SaveAs 63 Сохранить документ после запроса имени файла у пользователя.
QKeySequence::Save 5 Сохранить документ.
QKeySequence::SelectAll 26 Выделить весь текст.
QKeySequence::Deselect 67 Отменить выделение текста. Начиная с 5.1
QKeySequence::SelectEndOfBlock 55 Расширить выделение до конца текстового блока. Этот ярлык используется только на macOS.
QKeySequence::SelectEndOfDocument 57 Расширить выделение до конца документа.
QKeySequence::SelectEndOfLine 53 Расширить выделение до конца строки.
QKeySequence::SelectNextChar 44 Расширить выделение до следующего символа.
QKeySequence::SelectNextLine 48 Расширить выделение до следующей строки.
QKeySequence::SelectNextPage 50 Расширить выделение до следующей страницы.
QKeySequence::SelectNextWord 46 Расширить выделение до следующего слова.
QKeySequence::SelectPreviousChar 45 Расширить выделение до предыдущего символа.
QKeySequence::SelectPreviousLine 49 Расширить выделение до предыдущей строки.
QKeySequence::SelectPreviousPage 51 Расширить выделение до предыдущей страницы.
QKeySequence::SelectPreviousWord 47 Расширить выделение до предыдущего слова.
QKeySequence::SelectStartOfBlock 54 Расширить выделение до начала текстового блока. Этот ярлык используется только на macOS.
QKeySequence::SelectStartOfDocument 56 Расширить выделение до начала документа.
QKeySequence::SelectStartOfLine 52 Расширить выделение до начала строки.
QKeySequence::Underline 29 Подчеркнуть текст.
QKeySequence::Undo 11 Отменить.
QKeySequence::UnknownKey 0 Непривязанный ключ.
QKeySequence::WhatsThis 2 Активировать "что это?".
QKeySequence::ZoomIn 16 Приблизить.
QKeySequence::ZoomOut 17 Отдалить.
QKeySequence::FullScreen 66 Переключить состояние окна в полноэкранный режим и обратно.
QKeySequence::Cancel 70 Отменить текущую операцию.

Этот перечисление был введён или изменён в Qt 4.2.

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

QKeySequence::QKeySequence()

Создаёт пустую последовательность клавиш.

QKeySequence::QKeySequence(const QString &key, SequenceFormat format = NativeText)

Создаёт последовательность клавиш из строки key, основываясь на формате format.

Например, "Ctrl+O" даёт CTRL+'O'. Строки "Ctrl", "Shift", "Alt" и "Meta" распознаются, а также их переведённые эквиваленты в контексте "QShortcut" (используя QObject::tr()).

Максимально четыре кода клавиш могут быть введены, разделяя их запятыми, например, "Alt+X,Ctrl+S,Q".

Этот конструктор обычно используется с tr(), чтобы сочетания клавиш можно было заменить при переводах:

QMenu *file = new QMenu(this);
file->addAction(tr("&Open..."), this, SLOT(open()),
                  QKeySequence(tr("Ctrl+O", "File|Open")));

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

QKeySequence::QKeySequence(int k1, int k2 = 0, int k3 = 0, int k4 = 0)

Создаёт последовательность клавиш с максимум 4 клавишами k1, k2, k3 и k4.

Коды клавиш перечислены в Qt::Key и могут быть объединены с модификаторами (см. Qt::Modifier), такими как Qt::SHIFT, Qt::CTRL, Qt::ALT или Qt::META.

QKeySequence::QKeySequence(const QKeySequence &keysequence)

Конструктор копирования. Создаёт копию keysequence.

QKeySequence::QKeySequence(StandardKey key)

Создаёт объект QKeySequence для заданной key. Результат будет зависеть от текущей платформы.

Созданный объект будет основан на первом элементе в списке сочетаний клавиш для key.

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

QKeySequence::~QKeySequence()

Уничтожает последовательность клавиш.

int QKeySequence::count() const

Возвращает количество клавиш в последовательности клавиш. Максимальное значение — 4.

QKeySequence QKeySequence::fromString(const QString &str, SequenceFormat format = PortableText)

Возвращает QKeySequence из строки str, основываясь на format.

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

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

bool QKeySequence::isEmpty() const

Возвращает true, если последовательность клавиш пуста; в противном случае возвращает false.

QList<QKeySequence> QKeySequence::keyBindings(StandardKey key)

Возвращает список сочетаний клавиш для заданного key. Результат вызова этой функции будет варьироваться в зависимости от целевой платформы. Первый элемент списка указывает основное сочетание клавиш для данной платформы. Если результат содержит более одного результата, эти результаты можно рассматривать как альтернативные сочетания клавиш на той же платформе для заданного key.

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

QList<QKeySequence> QKeySequence::listFromString(const QString &str, SequenceFormat format = PortableText)

Возвращает список QKeySequence из строки str, основываясь на format.

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

См. также fromString() и listToString().

QString QKeySequence::listToString(const QList<QKeySequence> &list, SequenceFormat format = PortableText)

Возвращает строковое представление list, основываясь на format.

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

См. также toString() и listFromString().

SequenceMatch QKeySequence::matches(const QKeySequence &seq) const

Сопоставляет последовательность с seq. Возвращает ExactMatch при успешном совпадении, PartialMatch, если seq совпадает неполностью, и NoMatch, если последовательности не имеют ничего общего. Возвращает NoMatch, если seq короче.

QKeySequence QKeySequence::mnemonic(const QString &text)

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

Например, mnemonic("E&xit") возвращает Qt::ALT+Qt::Key_X, mnemonic("&Quit") возвращает ALT+Key_Q, а mnemonic("Quit") возвращает пустой QKeySequence.

Мы предоставляем список общих мнемоник на английском языке. На момент написания этой документации Microsoft и Open Group не выпустили эквивалентных рекомендаций для других языков.

void QKeySequence::swap(QKeySequence &other)

Меняет местами последовательность клавиш other с этой последовательностью клавиш. Эта операция очень быстрая и никогда не терпит неудачу.

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

QString QKeySequence::toString(SequenceFormat format = PortableText) const

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

Например, значение Qt::CTRL+Qt::Key_O приводит к "Ctrl+O". Если последовательность клавиш имеет несколько кодов клавиш, каждый из них отделяется запятыми в возвращаемой строке, например, "Alt+X, Ctrl+Y, Z". Строки "Ctrl", "Shift" и т.д. переводятся с помощью QObject::tr() в контексте "QShortcut".

Если последовательность клавиш не имеет клавиш, возвращается пустая строка.

В macOS возвращаемая строка напоминает последовательность, отображаемую в строке меню, если format — QKeySequence::NativeText; в противном случае строка использует "портативный" формат, подходящий для записи в файл.

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

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

QKeySequence::operator QVariant() const

Возвращает последовательность клавиш как QVariant

bool QKeySequence::operator!=(const QKeySequence &other) const

Возвращает true, если эта последовательность клавиш не равна последовательности клавиш other; в противном случае возвращает false.

bool QKeySequence::operator<(const QKeySequence &other) const

Обеспечивает произвольное сравнение этой последовательности клавиш и последовательности клавиш other. Гарантируется только то, что оператор возвращает true, если обе последовательности клавиш равны, и что (ks1 < ks2) == !( ks2 < ks1), если последовательности клавиш не равны.

Эта функция полезна в некоторых ситуациях, например, если вы хотите использовать объекты QKeySequence в качестве ключей в QMap.

См. также operator==(), operator!=(), operator>(), operator<=() и operator>=().

bool QKeySequence::operator<=(const QKeySequence &other) const

Возвращает true, если эта последовательность клавиш меньше или равна последовательности клавиш other; в противном случае возвращает false.

См. также operator==(), operator!=(), operator<(), operator>() и operator>=().

QKeySequence &QKeySequence::operator=(const QKeySequence &other)

Оператор присваивания. Присваивает последовательность клавиш other данному объекту.

QKeySequence &QKeySequence::operator=(QKeySequence &&other)

Перемещающее присваивание other экземпляру QKeySequence.

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

bool QKeySequence::operator==(const QKeySequence &other) const

Возвращает true, если эта последовательность клавиш равна последовательности клавиш other; в противном случае возвращает false.

bool QKeySequence::operator>(const QKeySequence &other) const

Возвращает true, если эта последовательность клавиш больше, чем последовательность клавиш other; в противном случае возвращает false.

См. также operator==(), operator!=(), operator<(), operator<=() и operator>=().

bool QKeySequence::operator>=(const QKeySequence &other) const

Возвращает true, если эта последовательность клавиш больше или равна последовательности клавиш other; в противном случае возвращает false.

См. также operator==(), operator!=(), operator<(), operator>() и operator<=().

int QKeySequence::operator[](uint index) const

Возвращает ссылку на элемент в позиции index в последовательности клавиш. Это можно использовать только для чтения элемента.

Связанные внешние функции

void qt_set_sequence_auto_mnemonic(bool b)

Указывает, следует ли учитывать мнемоники для элементов меню, меток и т. д. В Windows и X11 эта функция включена по умолчанию; в macOS — выключена. Когда эта функция выключена (то есть, когда b равно false), QKeySequence::mnemonic() всегда возвращает пустую строку.

Примечание: Эта функция не объявлена ни в одном из заголовочных файлов Qt. Чтобы использовать её в своем приложении, объявите прототип функции перед вызовом.

См. также QShortcut.

QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)

Записывает последовательность клавиш sequence в поток stream.

См. также Формат операторов QDataStream.

QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)

Считывает последовательность клавиш из потока stream в последовательность клавиш sequence.

См. также Формат операторов QDataStream.

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

Spec-Zone.ru

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