当前位置: 首页 > news >正文

HTML5网站建设案例学做古装网站

HTML5网站建设案例,学做古装网站,pr效果做的好的网站有哪些,建设云网站文章目录 QGraphicsScene 的简单理解--关于手册的简要翻译简介:一般操作:关于scenes bounding rect:the location of items.scenes selection事件处理与事件转播 QGraphicsScene 的简单理解–关于手册的简要翻译 简介: QGraphic…

文章目录

  • QGraphicsScene 的简单理解--关于手册的简要翻译
    • 简介:
    • 一般操作:
    • 关于scene's bounding rect:
    • the location of items.
    • scene's selection
    • 事件处理与事件转播

QGraphicsScene 的简单理解–关于手册的简要翻译

简介:

QGraphicsScene 类提供了一个管理2D 图形一个操作平台。打个比方,QGraphicsScene 类类似一个舞台,各类的2D图形就是舞台中呈现的各个角色或者道具。

QGraphicsScene 类 常与QGraphicsView一起使用,因为QGraphicsView会提供视图。打个比方,就是观看舞台的取景框。常见的图形项,这里包括线条、矩形框、文本,甚至是自定义图形项等等。QGraphicsScene 类是raphics View Framework的一部分。

QGraphicsScene 类提供了一些操作方法,如:决定图形项是否可视,及坐标位置。
运用QGraphicsView 类,还可以缩放视图的方法来观看整个场景或者部分场景。

一个简单的例子:

 QGraphicsScene scene;scene.addText("Hello, world!");QGraphicsView view(&scene);view.show();

QGraphicsScene是不能观看自身的。必须创建QGraphicsView 对象才可以看到场景中的图形项的。

一般操作:

一旦创建了场景,如果想添加图像项,怎么办?有两个选择:
1、通用方法:addItem()
2、其他便捷方法: addEllipse(), addLine(), addPath(), addPixmap(), addPolygon(), addRect(), or addText()等。 图像项的大小,可由上述函数来设定,该值是相对于图形项自身的坐标体系的。添加到场景的默认坐标是(0,0);

然后,就可以使用QGraphicsView来观看场景中的内容了。当场景发生变化时,(如图像项移动或者坐标发生改变时), QGraphicsScene会发送信号changed() 。删除图形项,可用removeItem().

QGraphicsScene 运用索引算法使得管理图形项的坐标变得高效。默认的BSP树是使用的,该算法是适合场景中多数图像项是静置的。

关于scene’s bounding rect:

1、通过setSceneRect() 设定
2、场景的大小默认是无限制的,图形项可以放置在场景中的任意一个位置。The scene rect 仅仅是用来记录、管理场景中的图形项的索引号的。
3、如果场景的rect 没有被设定,那么该rect的大小是包括所有图像项的最小rect , 可以通过itemsBoundingRect()来查看。但是这是比较耗时的,所以当需要操作较大的场景的时候,往往会预先设定场景的Rect。

the location of items.

QGraphicsScene 的其中一项强有力的能力在于它可以非常有效的决定涂香香的位置信息。甚至在拥有上百万个图像项的场景中,函数items() 能够决定图形项的位置在短短几个毫秒内。
items()函数的重载项由好多个:
1、查找图像项的位置。
2、查找图像项与多边形的相交等等
items()返回的是列表,最上层的是位于列表的第一项。为了便捷,itemAt()函数返回指定点最上面的图形项。

scene’s selection

QGraphicsScene 还支持图形项的选择功能。
1、设置选择:setSelectionArea(),
2、清除当前选择:clearSelection().
3、返回当前的选择: selectedItems()

事件处理与事件转播

QGraphicsScene 的另一个功能是转播来自QGraphicsView的事件。图形视图框架中的事件都是首先由视图进行接收,然后传递给场景,再由场景传递给相应的图形项。

举个例子:
QApplication::sendEvent(). event()负责分发事件给各个图像项。对于一些常用的事件有一些便捷操作方法,如keyPressEvent()处理键盘事件。mousePressEvent().处理鼠标点击事件。

而对于键盘事件,它会传递给获得焦点的图形项,如果场景没有获得焦点,那么所有的键盘事件都会被丢弃。如果场景的setFocus()函数或者场景中的一个图形项获得了焦点,那么场景也会自动获得焦点。如果场景丢失了焦点(例如调用了clearFocus()函数),然而它的一个图形项获得有焦点,那么场景就会保存这个图形项的焦点信息,当场景重新获得焦点后,就会确保最后一个焦点项目重新获得焦点。

对于鼠标悬停,QGraphicsScene 会调度悬停事件。如果一个图形项可以接收悬停事件,那么当鼠标进入它的区域时,它会收到一个 GraphicsSceneHoverEnter事件。如果鼠标继续在图形项区域中进行移动,那么QGraphicsScene 会向该图形发送一个GraphicsSceneHoverMove事件。当鼠标离开图形项区域时,它将会收到GraphicsSceneHoverLeave 事件。

所有的鼠标事件都会传递到当前鼠标抓取的图形项。

总结:

场景的作用无非就是几下几点:
1、提供了用于管理大量图形项的接口。如添加图形项,删除图形项,查找图形项等。通俗点讲场景可以看做是一个舞台,或者容器。
2、传播事件给每一个图形项。
3、管理图形项的状态,例如选择和焦点处理。

http://www.yayakq.cn/news/969234/

相关文章:

  • 盱眙网站制作网站 建设阶段
  • 用asp做的网站有哪些律师行业网站建设
  • 北京市保障性住房建设中心网站照片视频合成制作软件
  • 校园服装网站建设演示文稿网站一起做网店
  • 有做机械工装的网站吗网站载入页面怎么做
  • 全网营销型网站网站网站是怎么做的
  • 长春网站建设v1全球网站排名
  • 网站设计如何在ps先做绍兴免费自助建站
  • 腾讯云服务器可以做传奇网站吗wordpress 会员投搞
  • 网站开发费用结算wap手机网站制作
  • 自适应网站开发教程如何建立单位微信公众号
  • 云南省住房和城乡建设厅网站首页我要表白网站
  • 推荐大良营销网站建设五种营销工具
  • 南阳做网站seo的重庆工程建设信息网证件查询
  • 建设网站服务镇江城乡建设网站首页
  • 东莞市研发网站建设品牌游戏推广公司好做吗
  • 宁波网站优化如何大连企业公司网站建设
  • 做门户网站啥意思百度在线识图查图片
  • 网站的成功案例公司企业宣传片视频
  • 贵州域网网站建设做网站创意是什么意思
  • 单片机项目外包网站深度苏州自媒体公司
  • 建模e-r跟做网站有什么关系品牌公关公司
  • 网站做法成品门户网站源码免费
  • 网站建设与运营的收入来源企业建设网站网站建设公司
  • 网站建设方案书 模板南隼深圳网站建设
  • app开发和网站开发哪个简单临高网站建设
  • 做公司网站的目的是什么大学生创新创业大赛获奖名单
  • 达州网站建设qinsanw临沂百度公司地址
  • 沈阳建设工程信息网官网新网站wordpress page 分类
  • 宝宝投票网站怎么做root.txt文件放到您网站的根目录下