日志
qt引用OPENGL库建立3D模型之常用的键盘、鼠标、滚轮事件
2013-11-16 22:44
//鼠标按下
void GLWidget::mousePressEvent(QMouseEvent * e) { lastPos = e->pos(); } //鼠标移动 void GLWidget::mouseMoveEvent(QMouseEvent * e) { GLfloat dx = GLfloat(e->x() - lastPos.x()) / width(); GLfloat dy = GLfloat(e->y() - lastPos.y()) / height(); if (e->button() & Qt::LeftButton) { //button后面要加上s // xrot += 180 * dy; // yrot += 180 * dx; xrot += 180 * dy; yrot += 180 * dx; updateGL(); } lastPos = e->pos(); } //滚轮 void GLWidget::wheelEvent(QWheelEvent * e) { double numDegrees = -e->delta() / 8.0; double numSteps = numDegrees / 15.0; scaling *= pow(1.1, numSteps); updateGL(); } //键盘 void GLWidget::keyPressEvent(QKeyEvent * e) { switch(e->key()) { case Qt::Key_Left: initial_x -= 0.1; break; case Qt::Key_Right: initial_x += 0.1; break; case Qt::Key_Escape: close(); break; } updateGL(); } |
下一篇: grub rescue 错误
上一篇: qt5.0.2连接mysql