Как слить KeyReleaseEvent
а также QPushButton
с помощью signal
,
Я имею в виду, что всякий раз, когда пользователь нажимает клавишу ввода, кнопка должна вызывать какую-либо функцию, используя SLOT Так что я должен использовать в сигнале?
void mywindow::keyReleaseEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Enter:
connect(button1, SIGNAL(clicked()), this, SLOT(fileNew()));
connect(button2, SIGNAL(clicked()), this, SLOT(file()));
break;
}
}
Если я правильно понимаю ваш вопрос, вы хотите нажать какую-то кнопку при нажатии клавиши ввода. Вы можете просто позвонить QAbstractButton::click()
Функция для выполнения клика.
connect(button1,SIGNAL(clicked()),this,SLOT(fileNew()));
connect(button2,SIGNAL(clicked()),this,SLOT(file())); //do this in your constructor, or somewhere else.. just make sure you only do this once
void mywindow::keyReleaseEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Enter:
button1->click();
break;
}
}
Есть сокращенный свойство обрабатывать такие дела.
Я рекомендую использовать QAction с сокращенный значение. Потерян бонусный функционал.