本章将主要简述Graphics View框架结构的特点、主要包含的元素及坐标系统。
10年积累的成都网站设计、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有迎泽免费网站建设让你可以放心的选择与我们合作。1、Graphics View框架结构的特点:
(1)系统可以利用Qt绘图系统的反锯齿、OpenGL工具来改善绘图性能。
(2)其支持事件传播结构,可以使图元在场景中的交互能力提高一倍,凸缘可以处理键盘事件和鼠标事件。
(3)通过BSP提供快速的图元查找,可以实现实时显示包含数百万图元的大场景。
2、Graphics View的三元素:
(1)场景类(QGraphicsScene):本身不可见,是一个放置图元的容器必须通过与之相连的视图类来显示及与外界进行 互操作。通过QGraphicsScene::addItem()来添加图元。
QGraphicsScene::items()和一些重载函数能够返回和点、矩形、多边形或向量路径相交的所有图元。
QGraphicsScene::itemAt()返回指定点的最顶层图元。
QGraphicsScene::setSelectedAreas()函数选择图元,选择区域可以是任意的形状,使用QPainterpath表示。
QGraphicsScene::selectedItems()函数得到当前选择的图元列表。
QGraphicsScene::setFocusItem()函数或QGraphicsScene::setFocus()函数来设置图元的焦点。
QGraphicsScene::focusItem()函数获得当前具有焦点的图元。
QGraphicsScene::reader()函数在绘图设备上绘制场景。
(2)视图类(QGraphicsView):提供一个可视的窗口用于显示场景中的图元。其是可滚动的窗口部件,可以提供滚动条来浏览大的场景。
QGraphicsView::setViewport将视图设置为QGLWidget。
QGraphicsView::matrix()可以变换场景的坐标,实现场景缩放和旋转。
QGraphicsView::mapToScene()和QGraphicsView::mapFromScene()用于场景的坐标进行转换。
(3)图元类(QGraphicsItem):它是场景中各个图元的基类,在她的基础上可以继承出各种图元类,
包括直线(QGraphicsLineItem)、椭圆(QGraphicsEllipseItem)、文本图元(QGraphicsTextItem)、矩形(QGraphicsRectItem)等。
3、QGraphicsView的坐标系统:
基于笛卡尔积坐标系,一个图元的场景具有X坐标和Y坐标。
(1)场景坐标:是所有图元的基础坐标系统。
(2)视图坐标:是窗口部件的坐标。视图坐标的单位是像素。
(3)图元坐标:图元使用自己的本地坐标,这个坐标系统通常以图元中心为原点,这也是所有变换的原点。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
名称栏目:Qt5图形视图框架之概念篇(1)-创新互联
分享链接:http://lswzjz.com/article/esdpe.html