1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #include <QApplication> #include <QDebug> #include <QPushButton> #include <QWidget> #include <QKeyEvent>
class MyWindow : public QWidget { public: MyWindow() { setFocusPolicy(Qt::StrongFocus); }
protected: void keyPressEvent(QKeyEvent *event) override { if (event->key() == Qt::Key_Escape) { qDebug() << "Esc pressed: Closing window..."; this->close(); } else if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) { qDebug() << "Enter pressed!"; } else { qDebug() << "Key pressed:" << event->text() << " (Code:" << event->key() << ")"; } }
void keyReleaseEvent(QKeyEvent *event) override { qDebug() << "Key Released:" << event->text(); } };
int main(int argc, char *argv[]) { QApplication a(argc, argv);
MyWindow *hw = new MyWindow(); hw->setWindowTitle("Keyboard Event Test"); hw->resize(300, 200); hw->show();
QPushButton *button = new QPushButton("Focus Me", hw); button->setGeometry(100, 80, 100, 30);
return a.exec(); }
|