Как объединить KeyReleaseEvent с кнопкой

Как слить 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;
}
}

0

Решение

Если я правильно понимаю ваш вопрос, вы хотите нажать какую-то кнопку при нажатии клавиши ввода. Вы можете просто позвонить 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;
}
}
0

Другие решения

Есть сокращенный свойство обрабатывать такие дела.
Я рекомендую использовать QAction с сокращенный значение. Потерян бонусный функционал.

0

По вопросам рекламы [email protected]