Qt学习 -- Graphics View FramWork(1)

本文介绍了Qt的图形视图框架,重点讲解了QGraphicsItem图形项基类,包括键盘事件、碰撞检测等功能。QGraphicsItem支持鼠标和键盘事件,以及碰撞检测机制,是构建图形界面的基础。文章还提到了boundingRect()的重要性及其在几何变换中的角色,并探讨了如何实现动态碰撞检测和图形项的运动效果。
摘要由CSDN通过智能技术生成

图形视图框架

    学习过程参考 http://www.qter.org/portal.php?mod=view&aid=48

    记一些觉得比较重要的点

    ~~~~~~~~

    可以分成三部分

    1. 图形 Item

    2. 场景 Scene

    3. 视图 View

    Item 由Scene 管理,使用时需要

scene->addItem(item);

    Scene 不能可视化,需要在View 上

view->setScene(scene);

    下面代码是一个简单的小窗口里放小方形

int main(int argc, char* argv[]){
    QApplication app(argc,argv);

    QGraphicsScene *scene = new QGraphicsScene;// scene
    QGraphicsRectItem *item = new QGraphicsRectItem(100,100,50,50);// item
    scene->addItem(item);// add item to scene
    QGraphicsView *view = new QGraphicsView;// view
    view->setScene(scene);// set scene on view
    view->show();// show view

    return app.exec();
}

    过程:

  1.  定义 item 、scene 、 view 。
  2.  scene 上加入 item
  3.  view 中设置为 scene   
  4.  显示 view

--QGraphicsItem 图形项基类

        

    支持功能:

  •  鼠标的按下、移动、释放和双击事件,也支持鼠标悬停、滚轮和右键菜单事件。
  • 键盘输入焦点和键盘事件。
  • 拖放
  • 利用QGraphicsItemGroup进行分组
  • 碰撞检测
    参考的实例中用了下面俩函数来画矩形
    QRectF boundingRect() const;
    void paint(QPaint
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值