here is work example
{
m_pbTest->installEventFilter(this);
vbl->addWidget(m_pbTest);
connect(m_pbTest, SIGNAL(clicked()), SLOT(testClicked()));
}
{
if (o
== m_pbTest
&& e
->type
() == QEvent::KeyPress) { if (ke->key() == Qt::Key_Enter || ke->key() == Qt::Key_Return)
m_pbTest->click();
}
}
void Test::testClicked()
{
qDebug() << Q_FUNC_INFO << "clicked";
}
Test::Test(QWidget *parent)
: QWidget(parent)
{
QVBoxLayout *vbl = new QVBoxLayout(this);
m_pbTest = new QPushButton(tr("test"));
m_pbTest->installEventFilter(this);
vbl->addWidget(m_pbTest);
connect(m_pbTest, SIGNAL(clicked()), SLOT(testClicked()));
}
bool Test::eventFilter(QObject *o, QEvent *e)
{
if (o == m_pbTest && e->type() == QEvent::KeyPress) {
QKeyEvent *ke = static_cast<QKeyEvent *>(e);
if (ke->key() == Qt::Key_Enter || ke->key() == Qt::Key_Return)
m_pbTest->click();
}
return QWidget::eventFilter(o, e);
}
void Test::testClicked()
{
qDebug() << Q_FUNC_INFO << "clicked";
}
To copy to clipboard, switch view to plain text mode
Bookmarks