飞舞的蝴蝶(GraphicsView框架)】的更多相关文章

飞舞的蝴蝶(GraphicsView框架) 一.简介 GraphicsView框架结构主要包含三个主要的类QGraphicsScene(容器).QGraphicsView(视图).QGraphicsItem(图形项).QGraphicsScene本身不可见必须通过与之相连的QGraphicsView视口类来显示及与外界进行互操作,主要提供项目的操作接口.传递事件和管理各个项目状态:QGraphicsView提供一个可视的窗口,用于显示场景中的项目,一个场景中可以有多个视口:QGraphicsIt…
Qt的Graphics-View框架和OpenGL结合详解 演示程序下载地址:这里 程序源代码下载地址:这里 这是一篇纯技术文,介绍了这一个月来我抽时间研究的成果. Qt中有一个非常炫的例子:Boxes,它展示了Qt能够让其Graphics–View框架和Qt的OpenGL模块结合起来,渲染出非常出色的效果.其实我私自认为凭这个程序,已经有很多游戏开发者关注Qt了,因为游戏开发一个非常常见的模块就是UI,一般情况下游戏引擎提供的UI模块比较弱,基本上都是游戏引擎+第三方GUI库进行结合的.但是Q…
一.简介 GraphicsView支持事件传播体系结构,可以使图元在场景scene中得到提高了已被的精确交互能力.图形视图框架中的事件都是首先由视图进行接收,然后传递给场景,再由场景给相应的图形项. 对于键盘鼠标事件,scene会传递给获得焦点的图形项.如果场景没有获得焦点,那键盘事件会丢弃:如果调用场景setFocus()或者场景中的一个图形项获得了焦点,那么场景会自动获得焦点:如果场景丢失了焦点(如调用clearFocus())而其中一个图形项获得焦点那场景会保存这个图形项的焦点信息. 图形…
场景(The Scene) QGraphicsScene提供图形视图场景.该场景具有以下职责: 提供用于管理大量图元的快速界面(锅) 将事件传播到每个图元(把螃蟹烧熟了) 管理图元状态,例如选择和焦点处理 提供未转换的渲染功能:主要用于打印 该场景充当QGraphicsItem对象的容器(锅).通过调用QGraphicsScene.addItem()将图元(螃蟹)添加到场景中,然后通过调用许多图元发现函数的一个来检索图元. QGraphicsScene.items()及其重载返回由点.矩形.多边…
这一篇来使用逐帧动画和补间动画来实现一个小样例,首先我们来看看Android中的补间动画. Android中使用Animation代表抽象的动画类,该类包含以下几个子类: AlphaAnimation:透明改变动画. ScaleAnimation:大小缩放动画. TranslateAnimation:位移变化动画. RotateAnimation:旋转动画. 我们以下使用位移动画和逐帧动画来实现这个小样例.先看看执行效果: 蝴蝶挥动翅膀的逐帧动画文件: <?xml version="1.0…
这一篇来使用逐帧动画和补间动画来实现一个小例子,首先我们来看看Android中的补间动画. Android中使用Animation代表抽象的动画类,该类包括下面几个子类: AlphaAnimation:透明改变动画. ScaleAnimation:大小缩放动画. TranslateAnimation:位移变化动画. RotateAnimation:旋转动画. 我们下面使用位移动画和逐帧动画来实现这个小例子,先看看运行效果: 蝴蝶挥动翅膀的逐帧动画文件: <?xml version="1.0…
最近一个项目中的需要做动画效果,很自然就想起来用qt animation framework .这个框架真的很强大.支持多个动画组合,线性动画,并行动画等.在此总结一下使用该框架一些需要注意的地方: 一:动画的target必须继承至 QObject类,如果存在多继承,QObject 必须为第一继承类. 二:如果使用QPropertyAnimation ,必须注意该对象的生命周期.我就在此出被卡了很长时间.比如我是在 graphicscene中的某一槽函数中进行展示动画的,直接在响应函数中加上如下…
一.GraphicsView框架简介 QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能. GraphicsView框架结构主要包含三个主要的类QGraphicsScene(场景).QGraphicsView(视图).QGraphicsItem(图元).QGraphicsScene本身不可见,是一个存储图元的容器,必须…
学习在Graphics-View框架中使用opengl进行3D编程,在网上找了一个不错的例子“3D Model Viewer”,很值得学习. 可以在http://www.oyonale.com/accueil.php?lang=en上下载一些3D模型来测试! 先来一张该例子的截图,看下效果: 该例子使用Graphics-View框架,绘制一个表示太阳的图元(item): 并在窗口的左上角区域放置了一个2D Widget控制以及说明面板(可以加载不同的3D模型,改变颜色,网格.法向量显示等!):…
一.QGraphicsScene 1.QGraphicsScene QGraphicsScene继承自QObject,是一个管理图元的容器,与QGraphicsView合用可以在2D屏幕上显示如线.三角形.文本.自定义图元等图元. QGraphicsScene是不可见的,只用于管理图元.为了查看场景,需要创建一个视图组件. 一个场景分为三个层:图元层.前景层和背景层.场景的绘制总是从背景层开始,然后是图形项层,最后是前景层. 2.事件处理与传播 QGraphicsScene的责任之一是传播来自视…