Qt keyPressEvent
2016-03-02 16:56
316 查看
keyPressEvent是QWidget里面的函数,所以凡是继承自QWidget的类都可以通过实现这个函数来完成对按键事件的响应。
要让当前的widget能够响应按键事件,最先需要做的事情是,调用:
接下来就是keyPressEvent方法的声明与实现了~
需要注意的是,响应按键事件后,需要updateGL,否则当前窗口不会自动重新绘制。
要让当前的widget能够响应按键事件,最先需要做的事情是,调用:
setFocusPolicy(Qt::StrongFocus);
接下来就是keyPressEvent方法的声明与实现了~
// 声明 void keyPressEvent(QKeyEvent *event);
// 实现 void DisplayGLWidget::keyPressEvent(QKeyEvent* event) { switch (event->key()) { case Qt::Key_Up: mix = (mix + 0.1) > 1 ? 1 : mix + 0.1; std::cout << "mix = " << mix << endl; updateGL(); break; case Qt::Key_Down: mix = (mix - 0.1) < 0 ? 0 : mix - 0.1; std::cout << "mix = " << mix << endl; updateGL(); break; default: break; } }
需要注意的是,响应按键事件后,需要updateGL,否则当前窗口不会自动重新绘制。
相关文章推荐
- QT在一个文件夹下面查找某个特定的内容(如查找一个字符串)
- 使用FreeImage来进行Qt图片的读入
- qt 进度条
- Qt程序发布
- Qt安装与新建项目
- QT + Win7 SDK 中文时 乱码 常量中有换行符 问题
- 中标麒麟下编译Qt遇到的问题
- Qt 读取文件,获得文件名、路径
- QtWidgets继承关系树
- QtCore继承关系树
- 在win7旗舰版64位系统中,qtp破解密钥时,程序运行马上提示已停止工作
- EXTJS4中更改了ext:qtip的支持
- qt中如果用qDebug输出彩色调试信息
- There's no Qt version assigned to this project for platform Win32. Please use the 'change Qt version
- PyQt4百行代码自制密码管理器(三):数据库引入
- 一起看代码来玩玩QT之13 IO(two TCPServer TcpClient TcpScoket)
- Qt5.6.0+OpenGL 纹理贴图首战告捷
- QT与泰剧
- 用Qt实现一个桌面弹幕程序(七)-- -- 桌面客户端实现③
- Qt之QNetworkInterface