Я пытаюсь подключить несколько ярлыков к слоту, чтобы получить их значение ключа и добавить его в переменную. Что-то вроде ввода текста, поэтому я делаю что-то вроде этого:
button_1 = new QShortcut::QShortcut(QKeySequence("1"),this);
connect(button_1,SIGNAL(activated(QKeySequence)),this, SLOT(keybord_shortcuts(QKeySequence)));
что не правильно, потому что activated()
не получит последовательность, которая вызывает ярлык для моего слота keybord_shortcuts
,
No such signal QShortcut::activated(QKeySequence)
Есть ли другой способ, чем activated()
? Любая помощь приветствуется.
Благодарю.
Да нет такого сигнала activated(QKeySequence)
и вы должны подключиться к сигналу activated()
:
connect(button_1, SIGNAL(activated()), this, SLOT(keybord_shortcuts()));
Но вы можете получить реальный ярлык в слоте, используя sender()
:
void keybord_shortcuts()
{
QShortcut* shortcut = qobject_cast<QShortcut*>(sender());
QKeySequence seq = shortcut->key();
...
}