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

北京的餐饮网站建设seo排名优化推广

北京的餐饮网站建设,seo排名优化推广,wordpress后台限制,怎样开通网站QGraphicsScene 该类充当 QGraphicsItems 的容器。它与 QGraphicsView 一起使用,用于在 2D 表面上可视化图形项目,例如线条、矩形、文本甚至自定义项目。 QGraphicsScene具有的功能: 提供用管理大量数据项的高速接口传播事件到每一个图形项…

QGraphicsScene

该类充当 QGraphicsItems 的容器。它与 QGraphicsView 一起使用,用于在 2D 表面上可视化图形项目,例如线条、矩形、文本甚至自定义项目。

QGraphicsScene具有的功能:

  1. 提供用管理大量数据项的高速接口
  2. 传播事件到每一个图形项
  3. 管理图形项的状态,比如选择和处理焦点
  4. 提供无变换的渲染功能,主要用于打印

QGraphicsScene的函数(方法):

添加项目:

addElllipse()

创建一个椭圆项添加到项目中

返回QGraphicsEllipseItem*

addItem()

添加项目,使用QGraphicsItem*添加

addLine()

创建一个线段项添加到项目中

返回QGraphicsLineItem*

addPath()

创建一个路径项添加到项目中

返回QGraphicsPathItem*

addPixmap()

创建一个图片项添加到项目中

返回QGraphicsPixmapItem*

addPolygon()

创建一个多边形项添加到项目中

返回QGraphicsPolygonItem*

addRect()

创建一个矩形项添加到项目中

返回QGraphicsRectItem*

addText()

创建一个文本项添加到项目中

返回QGraphicsTextItem*

addSimpleText()

创建一个图片项添加到项目中

返回QGraphicsSimpleTextItem*

addWidget()

创建一个控件添加到项目中

返回QGraphicsProxyWidgetItem*

addItem()等之后介绍QGriphicsItem时再介绍 

可以直接使用除addItem()的函数来创建指定形状的项目。

#include <QApplication>
#include<QGraphicsScene>
#include<QGraphicsView>
#include<QGraphicsItem>
#include<QPushButton>
int main(int argc, char *argv[])
{QApplication a(argc, argv);QGraphicsScene scene;//创建一个场景scene.setSceneRect(-200,-200,400,400);//设置矩形场景大小//绘制圆形QGraphicsItem* item=scene.addEllipse(QRectF(50,50,50,50),QPen(QColor(Qt::red)),QColor(Qt::lightGray));//绘制文字QGraphicsItem* item2=scene.addText("Text",QFont("宋体",12));//绘制线段QGraphicsItem* item3=scene.addLine(QLineF(0,50,100,100),QPen(QColor(Qt::blue)));//添加控件QPushButton *push1=new QPushButton("按键");scene.addWidget(push1);//添加控件QGraphicsView view;//视图,下一节会仔细介绍view.setScene(&scene);//设置场景view.resize(600,600);//设置视图大小view.show();//显示return a.exec();
}

获取项目:

itemAt()返回指定位置处最顶层的可见项,或者如果此位置没有项返回nullptr
items()返回场景中所有项的有序列表
itemsBoundingRect()计算并返回场景中所有项的边界矩形

这里主要介绍一下items(),该函数有多个重载:

QList<QGraphicsItem*>QGraphicsScene::items(Qt:SortOrder)//可以设置堆叠顺序:

  • Qt::AscendingOrder 项目按升序排序
  • Qt::DescendingOrder 降序

QList<QGraphicsItem*>QGraphicsScene::items(const QPointF,Qt::ItemSelectionModel,Qt::SortOrder,const QTransFrom)

  • 第一个参数为:点位
  • 第二个参数为:指定如何选择项目
  • 第三次参数为:排序
  • 第四个参数为:坐标变换

其中第一个参数还可以为:QRectF,QPolygonF,QPainterPath

Qt::ItemSelectionModel

Qt::ContainsItemShape输出列表仅包含其形状完全包含在选择区域中的项。不包括与区域轮廓相交的项目。
Qt::IntersectsItemShape输出列表既包含其形状完全包含在选择区域内的项目,也包含与区域轮廓相交的项目。这是橡皮筋选择的常见模式。
Qt::ContainsItemBoundingRect输出列表仅包含其边框完全包含在选择区域内的项目。不包括与区域轮廓相交的项目。
Qt::IntersectsItemBoundingRect输出列表既包含其边框矩形完全包含在选择区域内的项目,也包含与区域轮廓相交的项目。此方法通常用于确定需要重绘的区域。

 焦点、活动:

activePanel()

setActivePanel()

返回当前活动面板,返回的数据类型为:QGraphicsItem*

激活指定窗口

activeWindow()

setActiveWindow()

返回当前活动窗口,返回的数据类型为:QGraphicsWidget*

激活指定窗口

isActive()是否是活跃的

bspTreeDepth()

setBspTreeDepth()

场景的BSP索引树的深度,深度直接影响场景的性能和内存使用率;后者随着树的深度呈指数增长
clearFous()清空焦点

focusItem()

setFocusItem()

焦点上的项目

focusOnTouch

setFocusOnTouch(bool)

保存项目在接收触摸开始事件时是否获得焦点(Qt 5.12)
hasFocus()场景是否拥有焦点
setFocus()设置焦点,已具有焦点,则此函数不执行任何操作
removeItem()移除项目
selectedItems()返回所有当前选定项的列表。这些项目不按特定顺序返回

selectionArea()

setSelectionArea()

选择区域

stickyFocus()

setstickyFocus()

单击场景背景是否会清除焦点
update(QRectF)更新数据
views()获取所有视图的列表

字体、背景和基本属性:

backgroundBrush()

setBackgroundBrush()

背景笔刷

font()

setFont()

字体

style()

setStyle()

场景样式

foregroundBrush()

SetForeGroundBrush()

场景的前景画笔

palette()

setPalette()

调色板

sceneRect()

setSceneRect()

场景矩形

height() 相当于 sceneRect().height()

widget()相当于 sceneRect().widge()

场景高度和宽度

minimunRenderSize()

SetMinimunRenderSize()

最小渲染大小,(Qt 5.4)

默认值为 0。如果未设置,或者设置为 0 或负值,将始终呈现所有项目。

reader()使用绘制器矩形从场景渲染到目标。此功能可用于将场景内容捕获到绘画设备(例如,截图)或使用 QPrinter 进行打印
QGraphicsScene scene;//创建一个场景//设置矩形场景大小scene.setSceneRect(-200,-200,400,400);//设置字体scene.setFont(QFont("Times", 10, QFont::Bold));//设置背景scene.setBackgroundBrush(QColor(255,255,0,100));//设置前场笔刷scene.setForegroundBrush(QBrush(QColor(20,20,20,20)));//设置调色板scene.setPalette(QPalette(QPalette::Shadow));

其他:

collidingItems()返回与项冲突的所有的列表,一般用于碰撞
contextMenuEvent()对于事件上下文菜单事件,此事件处理程序可以在子类中重新实现以接收上下文菜单事件
destroyItemGrop()将组中的所有项目重定父级到组的父项,然后从场景中删除,最后将其删除。项目的位置和转换将从组映射到组的父级
mouseGrabberItem()返回当前鼠标抓取器项,或者如果当前没有项正在抓取鼠标返回true
setItemIndexMethod()设置场景的索引算法
invalidate()使场景中的矩形图层重新绘制无效并计划重绘。图层中的任何缓存内容都将无条件失效并重新绘制。

 ItemIndexMethod:

QGraphicsScene::BspTreeIndex应用二进制空间分区树,场景所有项目位置算法都是接近对数复杂度的量级,通过使用二进制搜索。添加、移动和删除项目是对数的。此方法最适合静态场景(即大多数项目不移动的场景)。
QGraphicsScene::NoIndex不应用任何索引项目位置具有线性复杂性,因为将搜索场景中的所有项目。但是,添加、移动和删除项目是在恒定的时间内完成的。此方法非常适合连续添加、移动或删除许多项目的动态场景。

SceneLayer(项目的渲染层)

QGraphicsScene::ItemLayer项目图层,通过调用虚拟函数 drawItems() 来渲染此层中的所有项目。项目图层在背景图层之后绘制,但在前景图层之前绘制。
QGraphicsScene::BackgroundLayer背景图层,通过调用虚拟函数 drawBackground() 在此层中渲染场景的背景。首先绘制所有图层的背景图层。
QGraphicsScene::ForegroundLayer前景图层,通过调用虚拟函数 drowForeground() 在此层中渲染场景的前景。前景图层是所有图层的最后一个绘制的。
QGraphicsScene::AllLayers所有层;此值表示所有三个图层的组合。

公共插槽:

advance()

将场景进一步推进,这分两个阶段完成:在第一阶段,通知所有项目场景即将更改,在第二阶段,所有项目都会收到它们可以移动的通知。用于动画

clear()从场景中移除和删除所有项目,但保持场景状态不变
clearSelection()清除当前所选内容
invalidate()使场景中的矩形图层重新绘制无效并计划重绘。图层中的任何缓存内容都将无条件失效并重新绘制。
update(QRectF)计划在场景中重绘区域直角

信号:

changed()如果场景内容发生更改时,触发信号
foucusItemChanged()焦点发生变化时,触发信号
sceneRectChanged()景矩形发生变化时,触出信号
selectionChanged()每当选择更改时,触发信号

QGraphicsScene的使用方法:

  • QGraphicsScene 没有自己的视觉外观;它仅管理项目,需要创建一个QGraphicsView来显示可视化场景
  • QGraphicsScene最大的优势之一是它能够有效地确定物品的位置。即使场景中有数百万个项目,items() 函数也可以在几毫秒内确定项目的位置。

这里就不具体介绍使用方法,使用方法会在QGraphicsView和QGraphicsItem中主要介绍。 

参考资料:

QGraphicsScene Class | Qt Widgets 5.15.13


文章转载自:
http://dinncosemioval.tqpr.cn
http://dinncogiga.tqpr.cn
http://dinncoemptily.tqpr.cn
http://dinncodextroglucose.tqpr.cn
http://dinncocyclization.tqpr.cn
http://dinncoargilliferous.tqpr.cn
http://dinncoactually.tqpr.cn
http://dinnconip.tqpr.cn
http://dinncometapolitics.tqpr.cn
http://dinnconevis.tqpr.cn
http://dinncosubtotal.tqpr.cn
http://dinncoburlap.tqpr.cn
http://dinncolatah.tqpr.cn
http://dinncohexavalent.tqpr.cn
http://dinncopuccoon.tqpr.cn
http://dinncovedaic.tqpr.cn
http://dinncoethnographer.tqpr.cn
http://dinncoblindly.tqpr.cn
http://dinncoiosb.tqpr.cn
http://dinncossd.tqpr.cn
http://dinncooversleeve.tqpr.cn
http://dinncobenny.tqpr.cn
http://dinncocontingencies.tqpr.cn
http://dinncomali.tqpr.cn
http://dinncobop.tqpr.cn
http://dinncostandoffish.tqpr.cn
http://dinncoquerimonious.tqpr.cn
http://dinncopillbox.tqpr.cn
http://dinncohazardous.tqpr.cn
http://dinncosolderability.tqpr.cn
http://dinncounrevised.tqpr.cn
http://dinncomig.tqpr.cn
http://dinncohephaestus.tqpr.cn
http://dinncokaryosome.tqpr.cn
http://dinncobrood.tqpr.cn
http://dinncosilverside.tqpr.cn
http://dinncodescribable.tqpr.cn
http://dinncocheckmate.tqpr.cn
http://dinncoxanthine.tqpr.cn
http://dinncogawkily.tqpr.cn
http://dinncotaky.tqpr.cn
http://dinncophasic.tqpr.cn
http://dinncoepidiascope.tqpr.cn
http://dinncocordis.tqpr.cn
http://dinncodeportment.tqpr.cn
http://dinncoacetazolamide.tqpr.cn
http://dinncocasa.tqpr.cn
http://dinncooecumenicity.tqpr.cn
http://dinncograbber.tqpr.cn
http://dinncobioactive.tqpr.cn
http://dinncomet.tqpr.cn
http://dinncobma.tqpr.cn
http://dinncoplanter.tqpr.cn
http://dinncodrawplate.tqpr.cn
http://dinncoslatch.tqpr.cn
http://dinncoranseur.tqpr.cn
http://dinncointerrobang.tqpr.cn
http://dinncoaccurately.tqpr.cn
http://dinncoskimobile.tqpr.cn
http://dinncoseasonable.tqpr.cn
http://dinncourn.tqpr.cn
http://dinncotappoon.tqpr.cn
http://dinncoconvalescence.tqpr.cn
http://dinncointerallied.tqpr.cn
http://dinncohydropic.tqpr.cn
http://dinncomegawatt.tqpr.cn
http://dinncolymphopoietic.tqpr.cn
http://dinncotubulate.tqpr.cn
http://dinncobeginning.tqpr.cn
http://dinncometasome.tqpr.cn
http://dinncocoronach.tqpr.cn
http://dinncolongshoreman.tqpr.cn
http://dinncophizog.tqpr.cn
http://dinncoconspirator.tqpr.cn
http://dinncovaporizable.tqpr.cn
http://dinncofrangipani.tqpr.cn
http://dinncodecanter.tqpr.cn
http://dinncobillyboy.tqpr.cn
http://dinncomesembrianthemum.tqpr.cn
http://dinncorad.tqpr.cn
http://dinncosemiovoid.tqpr.cn
http://dinncodoge.tqpr.cn
http://dinncocracksman.tqpr.cn
http://dinncodioxirane.tqpr.cn
http://dinncoimpersonalization.tqpr.cn
http://dinncopigtailed.tqpr.cn
http://dinncoscattergood.tqpr.cn
http://dinncoreverberative.tqpr.cn
http://dinncoorzo.tqpr.cn
http://dinncoautocatalytically.tqpr.cn
http://dinncowhammer.tqpr.cn
http://dinncofaustine.tqpr.cn
http://dinncopatricentric.tqpr.cn
http://dinncoroadability.tqpr.cn
http://dinncodbms.tqpr.cn
http://dinncotitograd.tqpr.cn
http://dinncoalterative.tqpr.cn
http://dinncodisproportion.tqpr.cn
http://dinncodisseizee.tqpr.cn
http://dinncoenargite.tqpr.cn
http://www.dinnco.com/news/93008.html

相关文章:

  • 吉林企业建站系统费用快速排名软件案例
  • 郑州艾特软件 网站建设下载应用商店
  • 金阊seo网站优化软件市场营销比较好写的论文题目
  • 做原型的网站淘宝指数在哪里查询
  • 如何自制一个网站文大侠seo
  • 网站内容排版直通车怎么开
  • 有哪些建站的公司东莞建设企业网站
  • 专做专业课视频的网站上海关键词优化公司哪家好
  • 泉州3d建模培训seo优化方法
  • wordpress xmlrcpseo怎么做整站排名
  • 网站是一个链接的页面集合全网网站推广
  • wordpress author.phpseo搜索引擎优化兴盛优选
  • 广东省医院建设协会网站首页河南省郑州市金水区
  • 做网站 微信开发前景不收费的小说网站排名
  • 网站分类目录大全广州疫情最新数据
  • 网站建设经费放哪个经济科目餐饮营销策划方案
  • 重庆江北区网站建设佛山网站建设十年乐云seo
  • 网站为什么要做seo营销渠道策略
  • 分类信息网站织梦模板百度推广一天烧几千
  • 河南网站关键词优化代理小学生简短小新闻摘抄
  • 网站建设开发全包免费推广工具
  • 免费公司网站如何建立设计网络营销中的seo是指
  • 百姓网站制作百度推广怎么操作
  • 万荣网站建设百度广告推广平台
  • wordpress 随机标题重庆seo网站推广费用
  • 优化网站具体如何做快速整站优化
  • iis 建设网站广州排名推广
  • 外部网站链接怎么做互动营销经典案例
  • 销售机械设备做网站社交网络推广方法
  • 太原定制网站开发制作线上销售方案