Qt keyPressEvent
keyPressEvent是QWidget里面的函数,所以凡是继承自QWidget的类都可以通过实现这个函数来完成对按键事件的响应。
要让当前的widget能够响应按键事件,最先需要做的事情是,调用:
setFocusPolicy(Qt::StrongFocus);
接下来就是keyPressEvent方法的声明与实现了~
// 声明 void keyPressEvent(QKeyEvent *event);
//环境windows 工具qt 语言c++
//在主窗体类中声明键盘响应函数
void keyPressEvent(QKeyEvent * event);
//文件中实现
void MainWindow::keyPressEvent(QKeyEvent *event)
{
//0x30对应Ascii表中0,0x31表示1,剩下的一次类推
if (0x30 <= event->key() && 0x39 >= event->key())
{
qDebug()<<event->key();
}
else if (0x2a == event->key())
{
qDebug()<<event->key();
}
else if (0x1b == event->key())
{
qDebug()<<event->key();
}
else if (0x08 == event->key())
{
qDebug()<<event->key();
}
else if (0x23 == event->key())
{
qDebug()<<event->key();
}
else if (0x0d == event->key())
{
qDebug()<<event->key();
else if (0x2e == event->key())
{
//sKey = ".";
qDebug()<<"%d"<<event->key();
}
else if (0x54 == event->key())
{
qDebug()<<event->key();
}
else if (0x41 <= event->key() && 0x48 >= event->key())
{
qDebug()<<event->key();
}
else
{
qDebug()<<event->key();
}
}