2016-10-29 5 views
0

私はQGraphicsWidgetの例を持っています。私は牽引ボタン、拡大のためのボタン、および縮小のためのボタンを追加したい。コード:ボタンでQGraphicsWidgetをズームイン/ズームアウトする方法は?

#include "myGraphicsWidget.h" 
int main(int argc,char* argv[]) 
{ 
    QApplication app(argc,argv); 
    QGraphicsScene scene; 

    myGraphicsWidget* graphicsWidget = new myGraphicsWidget("This is My Custom\n QGraphicsWidget!!"); 

    QGraphicsView view(&scene);   
    scene.addItem(graphicsWidget); 

    view.showFullScreen(); 

    return app.exec 

(); 

} 

ズーム用の機能(スロット)を私に書いてください。あなたはwheelEventをオーバーライドしたり、QGraphicsViewの規模を取り扱うボタン作成する必要が

答えて

0

:スロット用

void myGraphicsWidget::wheelEvent(QWheelEvent *event) 
{ 
    qreal zoomFactor = 1.15; 
    if (event->delta() > 0 && zoomLevel < 20) { 
     // Zoom In 
     scale(zoomFactor, zoomFactor); 
    } else if (event->delta() < 0 && zoomLevel > 0) { 
     // Zooming out 
     scale(1.0/zoomFactor, 1.0/zoomFactor); 
    } 
    scrollViewTo(event->pos()); 
} 

を、それは同じだろう - しかし、あなたはzoomInのコードを分離する必要があるだろうとズームアウトする。

関連する問題