QShortcut Class
QShortcut 클래스는 키보드 단축키를 만드는 데 사용됩니다. 더 보기...
Header: | #include <QShortcut> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
상속합니다: | QObject |
- 상속된 멤버를 포함한 모든 멤버 목록
- 사용되지 않는 멤버
- QShortcut은 이벤트 클래스의 일부입니다.
속성
- autoRepeat : bool
- context : Qt::ShortcutContext
- enabled : bool
- key : QKeySequence
공공 기능
QShortcut(QObject *parent) | |
(since 6.0) | 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) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) |
QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey 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, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
(since 6.0) | QShortcut(QKeySequence::StandardKey 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 *context1, Functor functor, const QObject *context2, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut) | |
virtual | ~QShortcut() |
bool | autoRepeat() const |
Qt::ShortcutContext | context() const |
bool | isEnabled() const |
QKeySequence | key() const |
(since 6.0) 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) |
(since 6.0) void | setKeys(QKeySequence::StandardKey key) |
(since 6.0) 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);
사용자가 지정된 바로가기에 key sequence 을 입력하면 바로가기의 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
이 속성은 바로가기가 활성화되었는지 여부를 보유합니다.
활성화된 바로가기는 바로가기의 key() 시퀀스와 일치하는 QShortcutEvent 이 발생하면 activated() 또는 activatedAmbiguously() 신호를 내보냅니다.
애플리케이션이 WhatsThis
모드에 있는 경우 바로 가기는 신호를 보내지 않고 대신 "What's This?" 텍스트를 표시합니다.
기본적으로 이 속성은 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) |
멤버 함수 문서
[explicit]
QShortcut::QShortcut(QObject *parent)
parent, QWindow 또는 QWidget 에 대한 QShortcut 객체를 생성합니다.
바로 가기 키 시퀀스가 지정되지 않았으므로 바로 가기는 어떠한 신호도 방출하지 않습니다.
setKey()도 참조하세요 .
[explicit, since 6.0]
QShortcut::QShortcut(QKeySequence::StandardKey standardKey, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
QWindow 또는 QWidget 여야 하는 parent 에 대한 QShortcut 객체를 구성합니다.
바로가기는 부모에서 작동하여 standardKey 과 일치하는 QShortcutEvent을 수신합니다. 이벤트의 모호성에 따라, 바로가기는 member 함수를 호출하거나, 키 누름이 바로가기의 context 에 있는 경우 ambiguousMember 함수를 호출합니다.
이 함수는 Qt 6.0에 도입되었습니다.
[explicit]
QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const char *member = nullptr, const char *ambiguousMember = nullptr, Qt::ShortcutContext context = Qt::WindowShortcut)
QWindow 또는 QWidget 여야 하는 parent 에 대한 QShortcut 객체를 구성합니다.
바로가기는 부모에서 작동하여 key 시퀀스와 일치하는 QShortcutEvent를 수신합니다. 이벤트의 모호성에 따라 바로가기는 member 함수를 호출하거나, 바로가기의 context 에 키 누름이 있는 경우 ambiguousMember 함수를 호출합니다.
[since 6.0]
template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
이 함수는 오버로드된 함수입니다.
이것은 바로가기의 activated() 신호를 functor 에 연결하는 QShortcut 편의 생성자입니다.
이 함수는 Qt 6.0에 도입되었습니다.
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
이 함수는 오버로드된 함수입니다.
이것은 바로 가기의 activated() 신호를 functor 에 연결하는 QShortcut 편의 생성자입니다.
[since 6.0]
template <typename Functor> QShortcut::QShortcut(QKeySequence::StandardKey key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
이 함수는 오버로드된 함수입니다.
이것은 바로 가기의 activated() 신호를 functor 에 연결하는 QShortcut 편의 생성자입니다.
functor 은 context 객체의 멤버 함수에 대한 포인터가 될 수 있습니다.
context 객체가 소멸되면 functor 은 호출되지 않습니다.
이 함수는 Qt 6.0에 도입되었습니다.
template <typename Functor> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
이 함수는 오버로드된 함수입니다.
이것은 바로 가기의 activated() 신호를 functor 에 연결하는 QShortcut 편의 생성자입니다.
functor 은 context 객체의 멤버 함수에 대한 포인터가 될 수 있습니다.
context 객체가 소멸되면 functor 은 호출되지 않습니다.
[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)
이 함수는 오버로드된 함수입니다.
바로 가기의 activated() 신호를 functor 에 연결하고 activatedAmbiguously() 신호를 functorAmbiguous 에 연결하는 QShortcut 편의 생성자입니다.
functor 및 functorAmbiguous 은 context 객체의 멤버 함수에 대한 포인터가 될 수 있습니다.
context 객체가 소멸되면 functor 및 functorAmbiguous 는 호출되지 않습니다.
이 함수는 Qt 6.0에 도입되었습니다.
template <typename Functor, typename FunctorAmbiguous> QShortcut::QShortcut(const QKeySequence &key, QObject *parent, const QObject *context, Functor functor, FunctorAmbiguous functorAmbiguous, Qt::ShortcutContext shortcutContext = Qt::WindowShortcut)
이 함수는 오버로드된 함수입니다.
바로 가기의 activated() 신호를 functor 에 연결하고 activatedAmbiguously() 신호를 functorAmbiguous 에 연결하는 QShortcut 편의 생성자입니다.
functor 및 functorAmbiguous 은 context 객체의 멤버 함수에 대한 포인터가 될 수 있습니다.
context 객체가 소멸되면 functor 및 functorAmbiguous 는 호출되지 않습니다.
[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)
이 함수는 오버로드된 함수입니다.
이것은 바로 가기의 activated() 신호를 functor 에 연결하고 activatedAmbiguously() 신호를 functorAmbiguous 에 연결하는 QShortcut 편의 생성자입니다.
functor 은 context1 객체의 멤버 함수에 대한 포인터일 수 있습니다. functorAmbiguous 은 context2 객체의 멤버 함수에 대한 포인터일 수 있습니다.
context1 객체가 소멸되면 functor 객체는 호출되지 않습니다. context2 객체가 소멸되면 functorAmbiguous 은 호출되지 않습니다.
이 함수는 Qt 6.0에 도입되었습니다.
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)
이 함수는 오버로드된 함수입니다.
바로 가기의 activated() 신호를 functor 에 연결하고 activatedAmbiguously() 신호를 functorAmbiguous 에 연결하는 QShortcut 편의 생성자입니다.
functor 은 context1 객체의 멤버 함수에 대한 포인터일 수 있습니다. functorAmbiguous 은 context2 객체의 멤버 함수에 대한 포인터일 수 있습니다.
context1 객체가 소멸되면 functor 객체는 호출되지 않습니다. context2 객체가 소멸되면 functorAmbiguous 객체는 호출되지 않습니다.
[virtual noexcept]
QShortcut::~QShortcut()
바로 가기를 삭제합니다.
[signal]
void QShortcut::activated()
이 신호는 사용자가 바로가기의 키 시퀀스를 입력할 때 발생합니다.
activatedAmbiguously()도 참조하세요 .
[signal]
void QShortcut::activatedAmbiguously()
키보드에서 키 시퀀스를 입력 중일 때, 하나 이상의 바로가기의 시작과 일치하는 경우 모호하다고 합니다.
단축키의 키 시퀀스가 완료되었을 때, 키 시퀀스가 여전히 모호한 경우(즉, 하나 이상의 다른 단축키의 시작인 경우) activatedAmbiguously() 신호가 전송됩니다. 이 경우 activated() 신호는 전송되지 않습니다.
activated()도 참조하세요 .
[since 6.0]
QList<QKeySequence> QShortcut::keys() const
이 단축키를 트리거하는 키 시퀀스 목록을 반환합니다.
이 함수는 Qt 6.0에 도입되었습니다.
QWidget *QShortcut::parentWidget() const
바로가기의 상위 위젯을 반환합니다.
[since 6.0]
void QShortcut::setKeys(QKeySequence::StandardKey key)
트리거를 표준 키 key 와 일치하는 트리거로 설정합니다.
이 함수는 Qt 6.0에 도입되었습니다.
[since 6.0]
void QShortcut::setKeys(const QList<QKeySequence> &keys)
keys 를 바로가기를 트리거하는 키 시퀀스 목록으로 설정합니다.
이 함수는 Qt 6.0에 도입되었습니다.
void QShortcut::setWhatsThis(const QString &text)
바로 가기의 "이게 뭐예요?" 도움말을 설정합니다 text.
위젯 애플리케이션이 "이게 뭐예요?" 모드에 있고 사용자가 바로 가기 key() 시퀀스를 입력하면 이 텍스트가 표시됩니다.
메뉴 항목에 "이게 뭐예요?" 도움말을 설정하려면(바로 가기 키 포함 또는 제외) 항목의 동작에 대한 도움말을 설정합니다.
기본적으로 도움말 텍스트는 빈 문자열입니다.
이 기능은 위젯을 사용하지 않는 애플리케이션에서는 효과가 없습니다.
whatsThis(), QWhatsThis::inWhatsThisMode() 및 QAction::setWhatsThis()도 참조하세요 .
QString QShortcut::whatsThis() const
바로 가기의 "이게 뭐예요?" 도움말 텍스트를 반환합니다.
setWhatsThis()도 참조하세요 .
© 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.