0
Мне нужно передать несколько ключей на основе нажатого состояния, чтобы активировать активность в Qt. сначала я пытался использовать QKeySequence для того, чтобы сделать то же самое, но, похоже, он не является динамическим.как создать серию ключей
keyPressEvent() {
if (keypress event) {
switch(keyevent->key()) {
Qt::Key_Alt:
"add this key to qkeysequence"
Qt::Key_Control:
"add this key to qkeysequence"
Qt::Key_Shift:
"add this key to qkeysequence"
Qt::Key_P:
"add this key to qkeysequence"
}
}
if (keyrelease event) {
switch(keyevent->key()) {
Qt::Key_Alt:
"remove this key from qkeysequence"
Qt::Key_Control:
"remove this key from qkeysequence"
Qt::Key_Shift:
"remove this key from qkeysequence"
Qt::Key_D:
"remove this key from qkeysequence"
}
}
handleKeySequence(qkeysequence);
}
handleKeySequence(qkeysequence) {
if (qkeysequence matches Qt::Key_Ctrl) do something
else if (qkeysequence matches Qt::Key_ctrl+Qt::Key_D) do something
.... other such sequences
}
однако QKeySequence не кажется, сделать что-нибудь там, и попытался еще несколько вариантов, и они не очень помогает либо.
любая помощь будет большой, спасибо.
спасибо Ивану, на самом деле QShortcut не будет работать для меня, а другой пост, так и пройти через него, и это не помогло бы мне много ни ... то, что я хочу сделать, - это несколько пакетов с несколькими ключами в один контейнер и отправить их на компоненты diff, и они должны иметь возможность обрабатывать его на основе ключей. «QKeySequence» звучит отлично, просто я не могу изменить (добавить нажатие клавиши или удалить нажатие клавиши) после создания. – Ravi