QT 学习之键盘事件( keyPressEvent)

Qt keyPressEvent

keyPressEvent是QWidget里面的函数,所以凡是继承自QWidget的类都可以通过实现这个函数来完成对按键事件的响应。

要让当前的widget能够响应按键事件,最先需要做的事情是,调用:

setFocusPolicy(Qt::StrongFocus);

接下来就是keyPressEvent方法的声明与实现了~

// 声明
void keyPressEvent(QKeyEvent *event);
 
   

//环境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
    {
        
	qDebug()<<event->key();
    }
    
}

猜你喜欢

转载自blog.csdn.net/yexiangcsdn/article/details/80337491