目录

  • 一、学习的知识点
    • 一)自定义视图、场景、图元类
      • 一)1 创建类
      • 一)2 图元类的实现
      • 一)3 advance槽函数
      • 一)3 collidingItems()碰撞检测函数
  • 二、上课没有听懂或者没有理解的地方
  • 三、当天学习的收获

一、学习的知识点

一)自定义视图、场景、图元类

一)1 创建类

自定义视图、场景、图元类时,先选择继承QObject基类,让系统自动生成QObject(自己写的会出现奇怪的错误),然后在生成的头文件把继承的QObject改成需要的,如QGraphicsView等等。

一)2 图元类的实现

自定义的图元类需要实现两个虚函数,分别是 :

  1. QRectF boundingRect() const; 碰撞检测,图元以图片中心为原点,需要返回图片的边框
  2. void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr); 重绘函数
  3. 重绘函数中的drawPixmap需要五个参数
    painter->drawPixmap(0-image.width()/2,0-image.height()/2,image.width(),image.height(),image);

一)3 advance槽函数

advance槽函数在场景类和图元类都有,在利用场景类的对象调用advance函数时,会执行两次该场景中所有的图元项的advance函数,第一次调用时phase为0,告诉所有图元项即将移动,第二次phase为1,执行移动。

一)3 collidingItems()碰撞检测函数

图元的碰撞检测函数返回一个链表,当碰撞到时,链表中存入一个值,此时链表结点个数不等于0.

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

创建自定义的类时,要选择继承QObject基类,避免出现奇怪的问题。

201114阶段二qt自定义图元类相关推荐

  1. 201112阶段二qt图形视图框架

    目录 一.学习的知识点 一)事件 二)图形视图框架 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 一)事件 鼠标事件的创建 组合键 二)图形视图框架 场景类:坐标系以中心为 ...

  2. qt自定义按钮类,每个按钮自带一个右键弹出框,如何使同一时刻只显示一个弹出框

    提要 继承于QPushButton的自定义按钮类,其右键弹出一个弹框,创建多个这样的自定义按钮在窗口中,每一时刻只显示一个右键弹出框,避免同一时刻,多个按钮右键弹出弹出框后,未及时关闭弹出框导致的同一 ...

  3. 201105阶段二qt创建简单工程

    目录 一.学习的知识点 qt的安装 qt项目 项目创建 项目例程 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 qt的安装 安装路径尽量不改,或者只修改盘符 https:/ ...

  4. 201110阶段二qt事件

    目录 一.学习的知识点 事件 鼠标事件 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 双链表分别存放用户名和密码.优势:分开存放,安全性好.劣势:删除时容易崩溃. 出现未定 ...

  5. QGraphicsItem图元旋转缩放和自定义图元(三)

    系列文章目录 QGraphicsItem图元的简单使用(一) QGraphicsItem图元拖动绘制(二) 文章目录 系列文章目录 前言 一.缩放和旋转 二.自定义图元 总结 前言 接上一章,图元绘制 ...

  6. Qt基于QGraphicsObject自定义图元并实现简单的动画

    文章目录 Qt基于QGraphicsObject自定义图元并实现简单的动画 举例; Qt基于QGraphicsObject自定义图元并实现简单的动画 Qt 图形的绘制 可以是QPainter方法直接绘 ...

  7. Qt (高仿Visio)流程图组件开发(二) 基本图元绘制 图元间连线绘制

    文章目录 本系列目录 前言 一.如何绘制图元 二.两图元之间如何连线 三.如何实现线跟随图元移动 四.线的位置判断 总结 本系列目录 Qt (高仿Visio)流程图组件开发(一) 效果展示及基本开发框 ...

  8. Qt中的自定义模型类

    文章目录 1 Qt中的通用模型类 1.1 Qt中的通用模型类 1.2 Qt中的变体类型QVariant 2 自定义模型类 2.1 自定义模型类设计分析 2.2 自定义模型类数据层.数据表示层.数据组织 ...

  9. 【Qt】Scene中获取指定类型的自定义图元

    通过阅读 Qt 官方文档中的"Elastic Nodes Example"例子,学习到如何在场景(Scene)中获取某个类型的自定义图元. 官方Demo运行效果: 该文档中,作者自 ...

最新文章

  1. php分页不跳转,分页源代码,分页时上一页下一页不显示,但可以跳转
  2. 图像处理之霍夫变换(直线检測算法)
  3. zabbix监控超详细搭建过程
  4. 进程线程004 Windows线程切换的三种方式
  5. smem – Linux 内存监视软件
  6. ios14.3开发之使用纯代码创建UITabbarController
  7. F - 你这是第一次让我看到落泪了呢 POJ - 3661Running 区间DP
  8. html是一种用于创建网页的标准标记语言,html
  9. 基于Lumisoft.NET组件的POP3邮件接收和删除操作
  10. 5年赚50倍的段永平:这几家公司正在长长的坡上滚着厚厚的雪
  11. 【转】javascript判断浏览器是不是IE
  12. 从你的全世界路过-人到难处需放胆
  13. AD库转化为KiCad库(过程非常详细)
  14. 知识图谱构建技术综述
  15. 微信公众号支付功能开发
  16. 冲突域和广播域的区分
  17. Oracle Demo库默认用户/密码为什么叫Scott/Tigger?
  18. nagios 服务端与客户端监控安装与详细配置,各配置文件详解
  19. vertical-align和text-align的理解
  20. 优雅的使用Onedrive推送书籍到Kindle

热门文章

  1. BZOJ1996:[HNOI2010]CHORUS 合唱队(区间DP)
  2. 光伏电价下调幅度大 短期内市场不明朗
  3. Maven 打包的3中场景
  4. 【基础】华为设备默认路由和静态路由配置实战
  5. MacOS上的包管理工具
  6. 虚拟主机的301重定向
  7. 为XPath自定义函数(因为XPath1.0的函数非常有限)[附源代码下载]
  8. 有了它,一天学会 PyTorch!
  9. 计算机的病毒防治教案,计算机病毒及其防治教案.doc
  10. 自定义JWT认证过滤器