qt学习之键盘事件( keyPressEvent)

//最近一直忙于做驱动,对底层东西很是好奇,好奇键盘是 怎么区分每个键值的,又是怎么响应的!因此,就有了下面这些代码

//环境windows 工具qt 语言c++
 
 
 
 
//在主窗体类中声明键盘响应函数
void keyPressEvent(QKeyEvent * event);
 
 
 
 
//c.pp文件中实现
 
 
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 if(KeyValue->key() == Qt::Key_Return)
    {
        QString input = ui->lineEdit->text();//当按下回车时,自动将输入框的内如传入到input变量
	qDebug()<<event->key();
    }

}

 
 
//对应键值表和ascll表你会有更多发现》》》
》》ascll链接:http://www.asciima.com/

猜你喜欢

转载自blog.csdn.net/aidem_brown/article/details/80495216