#include "myview.h" #include #include "picscene.h" #include MyView::MyView(QWidget *parent) : QGraphicsView(parent) { zoomRatio = 1; //setDragMode(QGraphicsView::ScrollHandDrag);//手型拖动 //setAlignment(Qt::AlignLeft | Qt::AlignTop); //setFocusPolicy( Qt::NoFocus ); } // static float a = 1.615; static float a = 1.64; void MyView::ZoomOut(void) { if(zoomRatio < 6) { zoomRatio++; // scale(2,2); scale(a,a); } } void MyView::ZoomIn(void) { if(zoomRatio > 2) { zoomRatio--; scale(1/a,1/a); } } //void MyView::wheelEvent(QWheelEvent*event) //滚轮事件 //{ //// if(event->delta() > 0) //如果鼠标滚轮远离使用者,则delta()返回正值 //// scale(0.5,0.5); //视图缩放 //// else scale(2,2); //} //void MyView::mousePressEvent(QMouseEvent*event) //{ //// rotate(90); //视图旋转顺时针90度 //} void MyView::keyPressEvent(QKeyEvent *event) { //event->accept(); //parent()->event((QEvent*) event); if (event->key() == Qt::Key_Left || event->key() == Qt::Key_Right || event->key() == Qt::Key_Up || event->key() == Qt::Key_Down) { // 处理上下键事件 PicScene* picScene = dynamic_cast(this->scene()); if(picScene) { picScene->keyPressEvent(event); } } else { // 其他键事件交给父类处理 QGraphicsView::keyPressEvent(event); } }