void light::keyPressEvent(QKeyEvent *pe){ switch(pe->key()){ case Qt::Key_Escape: QApplication::exit(); break; case Qt::Key_W: m_dx= 0.0f; m_dy=+0.01f; break; case Qt::Key_S: m_dx= 0.0f; m_dy=-0.01f; break; case Qt::Key_A: m_dx=-0.01; m_dy= 0.0f; break; case Qt::Key_D: m_dx=+0.01; m_dy= 0.0f; break; case Qt::Key_Space: defaultScene(); break; default: QWidget::keyPressEvent(pe); } updateGL(); }
// нажатие определенной клавиши void Scene3D::keyPressEvent(QKeyEvent* pe) { switch (pe->key()) { case Qt::Key_Plus: scale_plus(); // приблизить сцену break; case Qt::Key_Equal: scale_plus(); // приблизить сцену break; case Qt::Key_Minus: scale_minus(); // удалиться от сцены break; case Qt::Key_Up: rotate_up(); // повернуть сцену вверх break; case Qt::Key_Down: rotate_down(); // повернуть сцену вниз break; case Qt::Key_Left: rotate_left(); // повернуть сцену влево break; case Qt::Key_Right: rotate_right(); // повернуть сцену вправо break; case Qt::Key_Z: translate_down(); // транслировать сцену вниз break; case Qt::Key_X: translate_up(); // транслировать сцену вверх break; case Qt::Key_Space: // клавиша пробела defaultScene(); // возвращение значений по умолчанию break; case Qt::Key_Escape: // клавиша "эскейп" this->close(); // завершает приложение break; } updateGL(); // обновление изображения }
void Scene3D::keyPressEvent(QKeyEvent* pe) { switch (pe->key()) { case Qt::Key_Plus: scale_plus(); break; case Qt::Key_Equal: scale_plus(); break; case Qt::Key_Minus: scale_minus(); break; case Qt::Key_Up: rotate_up(); break; case Qt::Key_Down: rotate_down(); break; case Qt::Key_Left: rotate_left(); break; case Qt::Key_Right: rotate_right(); break; case Qt::Key_Z: translate_down(); break; case Qt::Key_X: translate_up(); break; case Qt::Key_Space: defaultScene(); break; case Qt::Key_Escape: this->close(); break; } updateGL(); }
GlWidget::GlWidget(QWidget* parent) : QGLWidget(parent) { setMinimumSize(300, 300); defaultScene(); }
void Scene3D::keyPressEvent(QKeyEvent* pe) { //qDebug() << "key: " << pe->key() << " "<< (int)pe->modifiers() << " " << Qt::CTRL <<"\n"; switch (pe->key()) { case Qt::Key_Plus: scale_plus(); break; case Qt::Key_Equal: scale_plus(); break; case Qt::Key_Minus: scale_minus(); break; case Qt::Key_Up: rotate_up(); break; case Qt::Key_Down: rotate_down(); break; case Qt::Key_Left: rotate_left(); break; case Qt::Key_Right: rotate_right(); break; case Qt::Key_1: rotate_forward(); break; case Qt::Key_2: rotate_backward(); break; case Qt::Key_S: translate_up(); break; case Qt::Key_W: translate_down(); break; case Qt::Key_A: translate_right(); break; case Qt::Key_D: translate_left(); break; case Qt::Key_Space: defaultScene(); break; case Qt::Key_B: xRot = anX; zRot = anZ; break; case Qt::Key_Escape: this->close(); break; } updateGL(); }