QKeySequence Class

QKeySequence 클래스는 바로 가기에 사용되는 키 시퀀스를 캡슐화합니다. 더 보기...

Header: #include <QKeySequence>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

공용 유형

enum SequenceFormat { NativeText, PortableText }
enum SequenceMatch { NoMatch, PartialMatch, ExactMatch }
enum StandardKey { AddTab, Back, Backspace, Bold, Close, …, Cancel }

공용 함수

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

정적 공용 멤버

QKeySequence fromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
QList<QKeySequence> keyBindings(QKeySequence::StandardKey key)
QList<QKeySequence> listFromString(const QString &str, QKeySequence::SequenceFormat format = PortableText)
QString listToString(const QList<QKeySequence> &list, QKeySequence::SequenceFormat format = PortableText)
QKeySequence mnemonic(const QString &text)
size_t qHash(const QKeySequence &key, size_t seed = 0)
void qt_set_sequence_auto_mnemonic(bool b)
QDataStream &operator<<(QDataStream &stream, const QKeySequence &sequence)
QDataStream &operator>>(QDataStream &stream, QKeySequence &sequence)

상세 설명

가장 일반적인 형태인 키 시퀀스는 특정 작업을 수행하기 위해 함께 사용해야 하는 키의 조합을 설명합니다. 키 시퀀스는 QAction 객체와 함께 사용하여 작업을 트리거하는 데 사용할 수 있는 키보드 단축키를 지정합니다.

키보드 단축키로 사용하기 위해 키 시퀀스는 세 가지 방법으로 구성할 수 있습니다:

  • 표준 바로가기의 경우 standard key 을 사용하여 각 바로가기에 연결된 플랫폼별 키 시퀀스를 요청할 수 있습니다.
  • 사용자 지정 단축키의 경우 "Ctrl+X"와 같이 사람이 읽을 수 있는 문자열을 사용할 수 있으며, 이를 다른 언어의 사용자를 위해 적절한 단축키로 번역할 수 있습니다. 번역은 "QShortcut" 컨텍스트에서 이루어집니다.
  • 하드코딩된 단축키의 경우 Qt::KeyQt::KeyboardModifier 열거형 값으로 정의된 값의 조합으로 정수 키 코드를 지정할 수 있습니다. 각 키 코드는 단일 Qt::Key 값과 Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifierQt::MetaModifier 과 같은 0 개 이상의 수정자로 구성됩니다.

예를 들어 Ctrl P 은 문서를 인쇄하기 위한 바로 가기로 사용되는 시퀀스일 수 있으며, 다음 중 어떤 방식으로든 지정할 수 있습니다:

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

문자의 경우 지정 문자열에 사용된 대소문자는 중요하지 않습니다. 위의 예에서 사용자는 Shift 키를 누르고 있을 필요 없이 "Ctrl+P"로 지정된 바로 가기를 활성화할 수 있습니다. 그러나 다른 키의 경우 Shift 을 지정되지 않은 추가 수정자 키로 사용하면 개발자가 사용하는 키보드와 다른 레이아웃을 가진 애플리케이션 사용자가 혼란을 겪을 수 있습니다. 자세한 내용은 아래 Keyboard Layout Issues 섹션을 참조하세요.

가능하면 표준 단축키를 사용하는 것이 좋습니다. 비표준 단축키에 대한 키 시퀀스를 만들 때는 하드 코딩된 정수 값보다 사람이 읽을 수 있는 문자열을 사용해야 합니다.

toString() 함수를 사용하여 QKeySequence 객체를 사람이 읽을 수 있는 문자열로 직렬화할 수 있습니다.

하드코딩된 키 코드를 지정하는 다른 방법은 문자의 유니코드 코드 포인트를 사용하는 것입니다(예: 'A'는 Qt::Key_A 와 동일한 키 시퀀스를 제공합니다).

참고: Apple 플랫폼에서 'Ctrl', Qt::CTRL, Qt::Key_ControlQt::ControlModifier 은 매킨토시 키보드의 Command 키에 해당하며, 'Meta', Qt::META, Qt::Key_MetaQt::MetaModifierControl 키에 해당합니다. 사실상 개발자는 모든 플랫폼에서 동일한 단축키 설명을 사용할 수 있으며, 애플리케이션은 Apple 플랫폼에서 예상대로 자동으로 작동합니다.

표준 단축키

Q키 시퀀스는 일반적인 애플리케이션에서 작업을 설정할 때 필요한 수고를 줄이기 위해 많은 standard keyboard shortcuts 을 정의합니다. 아래 표는 널리 사용되는 네 가지 플랫폼의 애플리케이션에서 이러한 표준 바로가기에 자주 사용되는 몇 가지 일반적인 키 시퀀스를 보여줍니다. Apple 플랫폼에서 Ctrl 값은 매킨토시 키보드의 Command 키에 해당하고 Meta 값은 Control 키에 해당합니다.

StandardKeyWindowsApple 플랫폼KDE 플라즈마GNOME
HelpContentsF1Ctrl+?F1F1
WhatsThisShift+F1Shift+F1Shift+F1Shift+F1
OpenCtrl+OCtrl+OCtrl+OCtrl+O
닫기Ctrl+F4, Ctrl+WCtrl+W, Ctrl+F4Ctrl+WCtrl+W
저장Ctrl+SCtrl+SCtrl+SCtrl+S
QuitCtrl+QCtrl+QCtrl+Q
SaveAsCtrl+Shift+SCtrl+Shift+SCtrl+Shift+SCtrl+Shift+S
NewCtrl+NCtrl+NCtrl+NCtrl+N
DeleteDel앞으로 삭제, 메타+DDel, Ctrl+DDel, Ctrl+D
CutCtrl+X, Shift+DelCtrl+X, Meta+KCtrl+X, F20, Shift+DelCtrl+X, F20, Shift+Del
복사Ctrl+C, Ctrl+InsCtrl+CCtrl+C, F16, Ctrl+InsCtrl+C, F16, Ctrl+Ins
붙여넣기Ctrl+V, Shift+InsCtrl+V, Meta+YCtrl+V, F18, Shift+InsCtrl+V, F18, Shift+Ins
환경 설정Ctrl+,Ctrl+Shift+,
실행 취소Ctrl+Z, Alt+백스페이스Ctrl+ZCtrl+Z, F14Ctrl+Z, F14
RedoCtrl+Y, Shift+Ctrl+Z, Alt+Shift+백스페이스Ctrl+Shift+ZCtrl+Shift+ZCtrl+Shift+Z
뒤로Alt+왼쪽, 백스페이스Ctrl+[Alt+왼쪽Alt+왼쪽
앞으로Alt+오른쪽, Shift+백스페이스Ctrl+]Alt+오른쪽Alt+오른쪽
새로 고침F5F5F5Ctrl+R, F5
ZoomInCtrl+플러스Ctrl+PlusCtrl+플러스Ctrl+플러스
ZoomOutCtrl+마이너스Ctrl+마이너스Ctrl+마이너스Ctrl+마이너스
FullScreenF11, Alt+EnterCtrl+메타+FF11, Ctrl+Shift+FCtrl+F11
PrintCtrl+PCtrl+PCtrl+PCtrl+P
AddTabCtrl+TCtrl+TCtrl+Shift+N, Ctrl+TCtrl+T
NextChildCtrl+Tab, 앞으로, Ctrl+F6Ctrl+}, 앞으로, Ctrl+TabCtrl+Tab, 앞으로, Ctrl+쉼표Ctrl+Tab, 앞으로
PreviousChildCtrl+Shift+Tab, 뒤로, Ctrl+Shift+F6Ctrl+{, 뒤로, Ctrl+Shift+TabCtrl+Shift+Tab, 뒤로, Ctrl+ 마침표Ctrl+Shift+Tab, 뒤로
FindCtrl+FCtrl+FCtrl+FCtrl+F
FindNextF3, Ctrl+GCtrl+GF3Ctrl+G, F3
FindPreviousShift+F3, Ctrl+Shift+GCtrl+Shift+GShift+F3Ctrl+Shift+G, Shift+F3
ReplaceCtrl+H(없음)Ctrl+RCtrl+H
SelectAllCtrl+ACtrl+ACtrl+ACtrl+A
선택 해제Ctrl+Shift+ACtrl+Shift+A
굵게Ctrl+BCtrl+BCtrl+BCtrl+B
이탤릭체Ctrl+ICtrl+ICtrl+ICtrl+I
밑줄Ctrl+UCtrl+UCtrl+UCtrl+U
MoveToNextChar오른쪽오른쪽, 메타+FRight오른쪽
MoveToPreviousChar왼쪽왼쪽, 메타+BLeft왼쪽
MoveToNextWordCtrl+오른쪽Alt+오른쪽Ctrl+오른쪽Ctrl+오른쪽
MoveToPreviousWordCtrl+왼쪽Alt+왼쪽Ctrl+왼쪽Ctrl+왼쪽
MoveToNextLineDown아래쪽, 메타+NDownDown
MoveToPreviousLineUpUp, Meta+PUpUp
MoveToNextPagePgDown아래로, Alt+ 아래로, 메타+ 아래로, 메타+ 아래로, 메타+ 아래로, 메타+ 위로PgDownPgDown
MoveToPreviousPagePgUpPgUp, Alt+PgUp, Meta+Up, Meta+PgUpPgUpPgUp
MoveToStartOfLineCtrl+왼쪽, 메타+왼쪽
MoveToEndOfLineEndCtrl+오른쪽, 메타+오른쪽끝, Ctrl+E끝, Ctrl+E
MoveToStartOfBlock(없음)Alt+위쪽, 메타+A(없음)(none)
MoveToEndOfBlock(none)Alt+다운, 메타+E(none)(none)
MoveToStartOfDocumentCtrl+홈Ctrl+위, 홈Ctrl+홈Ctrl+홈
MoveToEndOfDocumentCtrl+끝Ctrl+다운, 끝Ctrl+끝Ctrl+끝
SelectNextCharShift+오른쪽Shift+오른쪽Shift+오른쪽Shift+오른쪽
SelectPreviousCharShift+왼쪽Shift+왼쪽Shift+왼쪽Shift+왼쪽
SelectNextWordCtrl+Shift+오른쪽Alt+Shift+오른쪽Ctrl+Shift+오른쪽Ctrl+Shift+오른쪽
SelectPreviousWordCtrl+Shift+왼쪽Alt+Shift+왼쪽Ctrl+Shift+왼쪽Ctrl+Shift+왼쪽
SelectNextLineShift+DownShift+DownShift+DownShift+Down
SelectPreviousLineShift+UpShift+UpShift+UpShift+Up
SelectNextPageShift+PgDownShift+PgDownShift+PgDownShift+PgDown
SelectPreviousPageShift+PgUpShift+PgUpShift+PgUpShift+PgUp
SelectStartOfLineShift+홈Ctrl+Shift+왼쪽Shift+홈Shift+홈
SelectEndOfLineShift+EndCtrl+Shift+오른쪽Shift+EndShift+End
SelectStartOfBlock(없음)Alt+Shift+Up, Meta+Shift+A(없음)(none)
SelectEndOfBlock(none)Alt+Shift+Down, Meta+Shift+E(none)(없음)
SelectStartOfDocumentCtrl+Shift+홈Ctrl+Shift+업, Shift+홈Ctrl+Shift+홈Ctrl+Shift+홈
SelectEndOfDocumentCtrl+Shift+끝Ctrl+Shift+다운, Shift+끝Ctrl+Shift+끝Ctrl+Shift+끝
DeleteStartOfWordCtrl+백스페이스Alt+백스페이스Ctrl+백스페이스Ctrl+백스페이스
DeleteEndOfWordCtrl+Del(없음)Ctrl+DelCtrl+Del
DeleteEndOfLine(none)(none)Ctrl+KCtrl+K
DeleteCompleteLine(none)(none)Ctrl+UCtrl+U
InsertParagraphSeparatorEnterEnterEnterEnter
InsertLineSeparatorShift+Enter메타+입력, 메타+OShift+EnterShift+Enter
백스페이스(없음)삭제, 메타+H(없음)(없음)
취소Escape이스케이프, Ctrl+.EscapeEscape

표준 단축키에 사용되는 키 순서는 플랫폼마다 다르므로 각 플랫폼에서 단축키를 테스트하여 실수로 여러 동작에 동일한 키 순서를 할당하지 않도록 해야 합니다.

키보드 레이아웃 문제

많은 키 시퀀스 사양은 개발자가 특정 유형의 키보드 레이아웃에 따라 선택하며, Ctrl S ("Ctrl+S") 또는 Ctrl C ("Ctrl+C")와 같이 동작 이름의 첫 글자를 나타내는 키를 선택하지 않습니다. 또한 특정 기호는 특정 키보드 레이아웃에서 수정자 키를 통해서만 입력할 수 있으므로 한 키보드 레이아웃에서 사용하도록 의도된 키 시퀀스가 다른 키에 매핑되거나 전혀 다른 키에 매핑되거나 다른 키보드 레이아웃에서 사용하려면 추가 수정자 키가 필요할 수 있습니다.

예를 들어 Ctrl plusCtrl minus 단축키는 그래픽 애플리케이션에서 확대/축소 작업을 위한 단축키로 자주 사용되며, 각각 "Ctrl++" 및 "Ctrl+-"로 지정될 수 있습니다. 그러나 이러한 단축키가 지정되고 해석되는 방식은 키보드 레이아웃에 따라 다릅니다. 노르웨이어 키보드 사용자는 +- 키가 키보드에 인접해 있지 않지만 Shift 키를 누르지 않고도 두 단축키를 모두 활성화할 수 있습니다. 그러나 영국식 키보드 사용자는 + 기호를 입력하려면 Shift 키를 누르고 있어야 하므로 사실상 "Ctrl+Shift+="와 동일한 단축키가 됩니다.

일부 개발자는 키보드에서 사용하는 모든 수정자를 완전히 지정하여 바로 가기를 활성화할 수도 있지만, 이렇게 하면 키보드 레이아웃이 다른 사용자에게는 예기치 않은 동작이 발생할 수 있습니다.

예를 들어 영국식 키보드를 사용하는 개발자가 우연히도 Ctrl plus 와 같은 방식으로 작동하는 바로 가기를 만들기 위해 "Ctrl+Shift+="를 키 시퀀스로 지정할 수 있지만, 노르웨이식 키보드에서는 Shift 키를 사용하여 = 키에 액세스해야 하므로 필요한 바로 가기가 사실상 Ctrl Shift Shift = (불가능한 키 조합)이 될 수 있습니다.

따라서 사람이 읽을 수 있는 문자열과 하드코딩된 키 코드 모두 다양한 키보드 레이아웃에서 사용할 수 있는 키 시퀀스를 지정할 때 사용하기에 문제가 될 수 있습니다. standard shortcuts 을 사용해야만 사용자가 개발자가 의도한 단축키를 사용할 수 있습니다.

그럼에도 불구하고 사람이 읽을 수 있는 문자열을 사용함으로써 이 문제를 해결할 수 있으며, 다양한 언어의 사용자를 위해 키 시퀀스를 번역할 수 있습니다. 이 접근 방식은 사용 중인 언어에 가장 일반적인 키보드 레이아웃을 가진 사용자에게 성공할 수 있습니다.

GNU 이맥스 스타일 키 시퀀스

다중 인수 생성자를 사용하거나 쉼표로 구분된 사람이 읽을 수 있는 키 시퀀스 문자열을 전달하여 최대 4개의 키 코드를 허용하는 GNU Emacs에서 사용되는 것과 유사한 키 시퀀스를 생성할 수 있습니다.

예를 들어 Ctrl X 다음에 Ctrl C 키 시퀀스는 다음 중 한 가지 방법을 사용하여 지정할 수 있습니다:

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

경고: QKeySequence를 생성하기 전에 QApplication 인스턴스가 구성되어 있어야 하며, 그렇지 않으면 애플리케이션이 충돌할 수 있습니다.

QShortcut참조하세요 .

멤버 유형 문서

enum QKeySequence::SequenceFormat

상수설명
QKeySequence::NativeText0플랫폼별 문자열로서의 키 시퀀스입니다. 즉, 번역되어 표시되며 Apple 플랫폼에서는 메뉴 표시줄의 키 시퀀스와 유사하게 표시됩니다. 이 열거형은 사용자에게 문자열을 표시하려는 경우에 가장 적합합니다.
QKeySequence::PortableText1키 시퀀스는 파일 읽기 및 쓰기에 적합한 "휴대용" 형식으로 제공됩니다. 대부분의 경우 Windows 및 X11의 기본 텍스트와 비슷하게 보입니다.

enum QKeySequence::SequenceMatch

상수설명
QKeySequence::NoMatch0키 시퀀스가 다르며 부분적으로도 일치하지 않습니다.
QKeySequence::PartialMatch1키 시퀀스가 부분적으로 일치하지만 동일하지 않습니다.
QKeySequence::ExactMatch2키 시퀀스가 동일합니다.

enum QKeySequence::StandardKey

이 열거형은 표준 키 바인딩을 나타냅니다. 이를 사용하여 QAction 에 플랫폼에 따른 키보드 단축키를 할당할 수 있습니다.

키 바인딩은 플랫폼에 따라 다르다는 점에 유의하세요. 현재 바인딩된 바로가기는 keyBindings()를 사용하여 쿼리할 수 있습니다.

상수설명
QKeySequence::AddTab19새 탭을 추가합니다.
QKeySequence::Back13뒤로 이동합니다.
QKeySequence::Backspace69이전 문자를 삭제합니다.
QKeySequence::Bold27텍스트를 굵게 표시합니다.
QKeySequence::Close4문서/탭을 닫습니다.
QKeySequence::Copy9복사.
QKeySequence::Cut8잘라내기.
QKeySequence::Delete7삭제.
QKeySequence::DeleteEndOfLine60줄 끝 삭제.
QKeySequence::DeleteEndOfWord59커서 끝에서 단어 삭제하기.
QKeySequence::DeleteStartOfWord58커서까지 단어의 시작 부분을 삭제합니다.
QKeySequence::DeleteCompleteLine68전체 줄을 삭제합니다.
QKeySequence::Find22문서에서 찾기.
QKeySequence::FindNext23다음 결과 찾기.
QKeySequence::FindPrevious24이전 결과 찾기.
QKeySequence::Forward14앞으로 이동합니다.
QKeySequence::HelpContents1도움말 콘텐츠를 엽니다.
QKeySequence::InsertLineSeparator62새 줄을 삽입합니다.
QKeySequence::InsertParagraphSeparator61새 단락을 삽입합니다.
QKeySequence::Italic28텍스트를 이탤릭체로 표시합니다.
QKeySequence::MoveToEndOfBlock41커서를 블록 끝으로 이동합니다. 이 바로 가기는 Apple 플랫폼에서만 사용됩니다.
QKeySequence::MoveToEndOfDocument43커서를 문서 끝으로 이동합니다.
QKeySequence::MoveToEndOfLine39커서를 줄 끝으로 이동합니다.
QKeySequence::MoveToNextChar30커서를 다음 문자로 이동합니다.
QKeySequence::MoveToNextLine34커서를 다음 줄로 이동합니다.
QKeySequence::MoveToNextPage36커서를 다음 페이지로 이동합니다.
QKeySequence::MoveToNextWord32커서를 다음 단어로 이동합니다.
QKeySequence::MoveToPreviousChar31커서를 이전 문자로 이동합니다.
QKeySequence::MoveToPreviousLine35커서를 이전 줄로 이동합니다.
QKeySequence::MoveToPreviousPage37커서를 이전 페이지로 이동합니다.
QKeySequence::MoveToPreviousWord33이전 단어로 커서를 이동합니다.
QKeySequence::MoveToStartOfBlock40커서를 블록의 시작 부분으로 이동합니다. 이 바로 가기는 Apple 플랫폼에서만 사용됩니다.
QKeySequence::MoveToStartOfDocument42커서를 문서의 시작 부분으로 이동합니다.
QKeySequence::MoveToStartOfLine38커서를 줄의 시작 부분으로 이동합니다.
QKeySequence::New6새 문서를 만듭니다.
QKeySequence::NextChild20다음 탭 또는 하위 창으로 이동합니다.
QKeySequence::Open3문서를 엽니다.
QKeySequence::Paste10붙여넣기.
QKeySequence::Preferences64환경설정 대화 상자를 엽니다.
QKeySequence::PreviousChild21이전 탭 또는 하위 창으로 이동합니다.
QKeySequence::Print18문서 인쇄.
QKeySequence::Quit65애플리케이션을 종료합니다.
QKeySequence::Redo12다시 실행.
QKeySequence::Refresh15현재 문서를 새로 고치거나 다시 로드합니다.
QKeySequence::Replace25찾기 및 바꾸기.
QKeySequence::SaveAs63사용자에게 파일 이름을 묻는 메시지를 표시한 후 문서를 저장합니다.
QKeySequence::Save5문서를 저장합니다.
QKeySequence::SelectAll26모든 텍스트를 선택합니다.
QKeySequence::Deselect67텍스트 선택 해제하기. 5.1 이후
QKeySequence::SelectEndOfBlock55텍스트 블록의 끝까지 선택 영역을 확장합니다. 이 바로 가기는 Apple 플랫폼에서만 사용됩니다.
QKeySequence::SelectEndOfDocument57선택 영역을 문서 끝까지 확장합니다.
QKeySequence::SelectEndOfLine53선택 영역을 줄 끝으로 확장합니다.
QKeySequence::SelectNextChar44선택 영역을 다음 문자로 확장합니다.
QKeySequence::SelectNextLine48선택 영역을 다음 줄로 확장합니다.
QKeySequence::SelectNextPage50다음 페이지로 선택 영역을 확장합니다.
QKeySequence::SelectNextWord46다음 단어로 선택 영역을 확장합니다.
QKeySequence::SelectPreviousChar45이전 문자로 선택 영역을 확장합니다.
QKeySequence::SelectPreviousLine49이전 줄로 선택 영역을 확장합니다.
QKeySequence::SelectPreviousPage51이전 페이지로 선택 영역을 확장합니다.
QKeySequence::SelectPreviousWord47이전 단어로 선택 영역을 확장합니다.
QKeySequence::SelectStartOfBlock54텍스트 블록의 시작 부분까지 선택 영역을 확장합니다. 이 바로 가기는 Apple 플랫폼에서만 사용됩니다.
QKeySequence::SelectStartOfDocument56선택 영역을 문서의 시작 부분까지 확장합니다.
QKeySequence::SelectStartOfLine52선택 영역을 줄의 시작 부분까지 확장합니다.
QKeySequence::Underline29텍스트에 밑줄을 긋습니다.
QKeySequence::Undo11실행 취소.
QKeySequence::UnknownKey0바인딩 해제 키.
QKeySequence::WhatsThis2"이게 뭐야"를 활성화합니다.
QKeySequence::ZoomIn16확대.
QKeySequence::ZoomOut17축소.
QKeySequence::FullScreen66창 상태를 전체 화면으로/전체 화면으로 전환합니다.
QKeySequence::Cancel70현재 작업을 취소합니다.

멤버 기능 문서

QKeySequence::QKeySequence()

빈 키 시퀀스를 구성합니다.

QKeySequence::QKeySequence(QKeySequence::StandardKey key)

주어진 key 에 대한 QKeySequence 객체를 생성합니다. 결과는 현재 실행 중인 플랫폼에 따라 달라집니다.

결과 객체는 key 에 대한 키 바인딩 목록의 첫 번째 요소를 기반으로 합니다.

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

format 을 기준으로 key 문자열에서 키 시퀀스를 생성합니다.

예를 들어 "Ctrl+O"는 CTRL+'O'를 제공합니다. "Ctrl", "Shift", "Alt" 및 "Meta" 문자열은 물론 "QShortcut" 컨텍스트( QObject::tr() 사용)에서 번역된 등가 문자열도 인식됩니다.

쉼표로 구분하여 최대 4개의 키 코드를 입력할 수 있습니다(예: "Alt+X,Ctrl+S,Q").

이 생성자는 일반적으로 tr()와 함께 사용되므로 번역에서 바로 가기 키를 대체할 수 있습니다:

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

"파일|열기" 번역기 주석을 참고하세요. 반드시 필요한 것은 아니지만 인간 번역가에게 약간의 컨텍스트를 제공합니다.

QKeySequence::QKeySequence(QKeyCombination k1, QKeyCombination k2 = QKeyCombination::fromCombined(0), QKeyCombination k3 = QKeyCombination::fromCombined(0), QKeyCombination k4 = QKeyCombination::fromCombined(0))

최대 4개의 키로 키 시퀀스를 구성합니다 k1, k2, k3k4.

QKeyCombination도 참조하세요 .

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

최대 4개의 키로 키 시퀀스를 구성합니다 k1, k2, k3, k4.

키 코드는 Qt::Key 에 나열되어 있으며 Qt::ShiftModifier, Qt::ControlModifier, Qt::AltModifier, Qt::MetaModifier 과 같은 수정자( Qt::KeyboardModifier 참조)와 결합할 수 있습니다.

QKeySequence::QKeySequence(const QKeySequence &keysequence)

복사 생성자. keysequence 의 복사본을 만듭니다.

[noexcept] QKeySequence::~QKeySequence()

키 시퀀스를 파괴합니다.

int QKeySequence::count() const

키 시퀀스에 있는 키의 수를 반환합니다. 최대값은 4개입니다.

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

format 을 기준으로 str 문자열에서 QKeySequence 을 반환합니다.

toString()도 참조하세요 .

bool QKeySequence::isEmpty() const

키 시퀀스가 비어 있으면 true 을 반환하고, 그렇지 않으면 false를 반환합니다.

[static] QList<QKeySequence> QKeySequence::keyBindings(QKeySequence::StandardKey key)

주어진 key 에 대한 키 바인딩 목록을 반환합니다. 이 함수를 호출하면 대상 플랫폼에 따라 결과가 달라집니다. 목록의 첫 번째 요소는 지정된 플랫폼의 기본 단축키를 나타냅니다. 결과에 두 개 이상의 결과가 포함된 경우 지정된 key 에 대한 동일한 플랫폼의 대체 바로 가기로 간주할 수 있습니다.

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

format 을 기준으로 str 문자열에서 QKeySequence 목록을 반환합니다.

fromString() 및 listToString()도 참조하세요 .

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

format 을 기준으로 list 의 문자열 표현을 반환합니다.

toString() 및 listFromString()도 참조하세요 .

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

시퀀스를 seq 와 일치시킵니다. 성공하면 ExactMatch, seq 불완전하게 일치하면 PartialMatch, 공통점이 없는 경우 NoMatch 을 반환합니다. seq 이 더 짧으면 NoMatch 을 반환합니다.

[static] QKeySequence QKeySequence::mnemonic(const QString &text)

text 에 있는 니모닉에 대한 바로가기 키 시퀀스를 반환하거나 니모닉이 없는 경우 빈 키 시퀀스를 반환합니다.

예를 들어, 니모닉("E&xit")은 Qt::ALT+Qt::Key_X, 니모닉("&Quit")은 ALT+Key_Q, 니모닉("Quit")은 빈 QKeySequence 을 반환합니다.

[noexcept] void QKeySequence::swap(QKeySequence &other)

이 키 시퀀스를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

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

format 을 기준으로 키 시퀀스의 문자열 표현을 반환합니다.

예를 들어 Qt::CTRL+Qt::Key_O 값은 "Ctrl+O"가 됩니다. 키 시퀀스에 여러 개의 키 코드가 있는 경우 반환되는 문자열에서 각 키 코드는 쉼표로 구분됩니다(예: "Alt+X, Ctrl+Y, Z"). "Ctrl", "Shift" 등의 문자열은 "QShortcut" 컨텍스트에서 QObject::tr()를 사용하여 번역됩니다.

키 시퀀스에 키가 없는 경우 빈 문자열이 반환됩니다.

Apple 플랫폼에서 반환되는 문자열은 formatQKeySequence::NativeText 인 경우 메뉴 표시줄에 표시되는 시퀀스와 유사하며, 그렇지 않으면 파일에 쓰기에 적합한 "portable" 형식을 사용합니다.

fromString()도 참조하세요 .

QVariant QKeySequence::operator QVariant() const

키 시퀀스를 QVariant

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

이 키 시퀀스가 other 키 시퀀스와 같지 않으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 키 시퀀스와 other 키 시퀀스의 임의 비교를 제공합니다. 두 키 시퀀스가 같으면 false, 키 시퀀스가 같지 않으면 (ks1 < ks2) == !( ks2 < ks1)을 반환한다는 것만 보장됩니다.

이 함수는 QMap 에서 QKeySequence 객체를 키로 사용하려는 경우와 같이 일부 상황에서 유용합니다.

operator==(), operator!=(), operator>(), operator<=() 및 operator>=()도 참조하세요 .

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

이 키 시퀀스가 other 키 시퀀스보다 작거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

operator==(), operator!=(), operator<(), operator>() 및 operator>=()도 참조하세요 .

[noexcept] QKeySequence &QKeySequence::operator=(QKeySequence &&other)

이동-이 other 인스턴스를 QKeySequence 인스턴스에 할당합니다.

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

할당 연산자. 이 객체에 other 키 시퀀스를 할당합니다.

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

이 키 시퀀스가 other 키 시퀀스와 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

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

이 키 시퀀스가 other 키 시퀀스보다 크면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

operator==(), operator!=(), operator<(), operator<=() 및 operator>=()도 참조하세요 .

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

이 키 시퀀스가 other 키 시퀀스보다 크거나 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

operator==(), operator!=(), operator<(), operator>() 및 operator<=()도 참조하세요 .

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

키 시퀀스에서 index 위치에 있는 요소에 대한 참조를 반환합니다. 이 함수는 엘리먼트를 읽는 데만 사용할 수 있습니다.

관련 비회원

[noexcept] size_t qHash(const QKeySequence &key, size_t seed = 0)

seed 을 사용하여 key 에 대한 해시값을 반환합니다.

void qt_set_sequence_auto_mnemonic(bool b)

메뉴 항목, 레이블 등에 대한 니모닉을 표시할지 여부를 지정합니다. Windows 및 X11에서는 이 기능이 기본적으로 켜져 있고, macOS에서는 꺼져 있습니다. 이 기능이 꺼져 있는 경우(즉, b 가 거짓인 경우) QKeySequence::mnemonic()는 항상 빈 문자열을 반환합니다.

참고: 이 함수는 Qt의 헤더 파일에 선언되어 있지 않습니다. 응용 프로그램에서 이 함수를 사용하려면 함수 프로토타입을 선언한 후 호출하세요.

QShortcut참조하십시오 .

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

streamsequence 키를 씁니다.

QDataStream 연산자 형식을참조하십시오 .

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

stream 에서 sequence 키로 키 시퀀스를 읽습니다.

QDataStream 연산자의 형식을참조하십시오 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.