Qt图形视图框架(一) Graphics View Framework介绍

Graphics View Framework介绍

当你有大量2D图元需要展现时,可以使用图形视图框架。图形视图框架中的图元,能够处理用户交互事件(鼠标、键盘事件等),支持平移,缩放,旋转等变换。你可以为图元应用图形效果及动画。当你需要时,可以定义自己的图元。
 图形视图框架有三类基本元素:QGraphicsScene,QGraphicsItem,QGraphicsView,三者关系:
 假设你在用照相机拍照,你眼前的风景就是QGraphicsScene,风景中的物体(如树木,房屋)就是QGraphicsItem,眼前的风景虽然很广阔,但你只能看到相机中的区域,这块区域就是QGraphicsView。
下面举一个例子:
1 创建一个以widget作为基类的项目,为了方便删除widget头文件以及其源文件,当然可以不删除
2 因为要用到c++11特性,所以在pro文件中添加语句:
CONFIG += c++11
3 修改main:
#include 
#include 


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    
    //图形视图框架基本步骤:
    //1 创建一个Scene
    QGraphicsScene scene(0, 0, 500, 500);
    //2 创建所需要的Item
    auto hello = new QGraphicsSimpleTextItem("Hello Qt!");//auto用了c++11标准
    hello->setPos(100, 100);//设置位置
    scene.addItem(hello);//将item添加到scene
    //3 创建View
    QGraphicsView view(&scene);//用view来显示scene
    view.setSceneRect(0, 0, 500, 500);//设置view初始大小,即窗口初始大小
    view.setMinimumSize(400, 400);//设置view最大size和最小size,当达到最值后窗口将不能再扩大/缩小
    view.setMaximumSize(600, 600);
    view.show();//显示

    return a.exec();
}





你可能感兴趣的:(QT)