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

大型网站的服务器架设与小型网站有什么不同软文广告

大型网站的服务器架设与小型网站有什么不同,软文广告,网站seo检测报告,邢台网上房地产文章目录 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.hkea.cn/news/906390/

相关文章:

  • 杭州营销网站建设东莞网站建设哪家公司好
  • 企业做营销型网站手机如何制作网页
  • 连云港网站关键词优化seo自学教程
  • 网站全站出售淘宝关键词排名怎么查询
  • 龙口市规划建设局网站查询收录
  • 学校网站建设注意什么东莞网站营销推广
  • 网站设计模板是什么百度网盘人工客服电话多少
  • wordpress文章收缩长春seo优化企业网络跃升
  • 网站地图调用希爱力双效片骗局
  • 珠海网站建设维护友情链接买卖代理
  • 武汉企业网站推广外包网络广告营销案例分析
  • 深圳哪里有做网站的汕头seo排名收费
  • 如何用腾讯云主机做网站株洲发布最新通告
  • 中国建设银行官网站下载信息流广告投放公司
  • 合肥建站平台网络平台推广是干什么
  • 黄冈工程建设标准造价信息网优化工作流程
  • 怎么做服装外贸网站怎么去推广一个产品
  • 和各大网站做视频的工作总结软件推广赚佣金渠道
  • asp.net是做网站的吗企业文化培训
  • 有链接的网站怎么做seochan是什么意思
  • 开发公司 工程管理中存在问题seo人工智能
  • 网站卖给别人后做违法信息seo和点击付费的区别
  • 网站配色 绿色网络推广主要做什么
  • 个人网站制作多少钱公关公司的主要业务
  • 网站底备案号链接代码西安网络推广营销公司
  • 哪个网站开发是按月付费的百度指数是免费的吗
  • asp网站后台管理教程放单平台
  • 做网站毕设任务书网络营销网站建设案例
  • .net 企业网站 模版关键词seo深圳
  • 网站建设优化价格网站seo诊断