Qt的Graphics View Framework

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

在Qt的Graphics View Framework中,QGraphicsSceneQGraphicsView 是两个核心的类,用于管理和显示2D图形项(Graphics Item)。以下是它们的区别和常用用法:

QGraphicsScene:

  1. 作用: QGraphicsScene 是一个场景,用于管理图形项的集合。它提供了一个虚拟的二维空间,可以在其中添加、移动、删除图形项。

  2. 主要功能:

    • 添加图形项:使用 addItem 方法将图形项添加到场景中。
    • 控制图形项的布局和显示:可以设置图形项的位置、旋转、缩放等属性。
    • 响应事件:可以重写 QGraphicsScene 的事件处理函数,处理鼠标事件、键盘事件等。
  3. 常见用法:

    • 创建一个自定义的场景类,继承自 QGraphicsScene,并在其中实现特定的图形项管理逻辑。
    • 将图形项添加到场景中,通过 addItem 方法进行管理。
    • 处理场景中的交互,如图形项的选择、移动等。

QGraphicsView:

  1. 作用: QGraphicsView 是一个视图,用于在窗口中显示 QGraphicsScene 中的图形项。

  2. 主要功能:

    Qt Graphics View Framework 图形视图框架 QT的2D绘图我们使用QPainter实现少量绘图是很理想的,但是如果是要绘制大量的2D图形并且需要能够控制管理时就会显得力不从心。 好在QT视图体系提供了QGraphics View Framework的框架。使用这个框架可以将各图形项进行单独或分组的控制管理。   它包含三个大类:QGraphicsItem 项类(或者叫做图元类),QGraphicsScene 场景类,和 QGraphi 阅读详情

    相关推荐

    分享QtGraphics View Framework 简介内容

    Graphics View Framework 交互式 2D 图形的 Graphics View 框架概述。自 Qt4.2 中引入了 Graphics View,以取代其前身 QCanvas。Graphics View 提供了一个用于管理和交互大量的可定制的 2D 图形项与用于可视化这些项的 View 小部件的 surface(曲面),并提供缩放(zooming)和旋转(rotation)功能支持。 该框架包括事件传播体系结构(an event propagation architecture),该体系结构

    haozige888的博客 704

    Qt基础之二十九:图形视图框架(Graphics View Framework)及其应用

    无意中从网络获取一份俄罗斯方块源码,基于图形视图框架(Graphics View Framework)实现的。当然源码的核心从来都不是界面,而是方块的移动、变形和消除等算法。源码非常完整,注释详细,经改动后已能在Qt5中运行,下面是运行效果,背景音乐和音效也是有的。

    草上爬的博客 6839

    Qt Graphics View Framework中左手系转右手系

    问题来源 我们从小学习的数学中是右手坐标系,很多系统中(如:ros)也是右手系,而Qt Graphics View Framework 中却是左手坐标系,当两个不同坐标系的系统结合时,导致了界面上显示的内容和其他系统中的内容是上下翻转的,虽然看起来别扭,但是各种操作却不会有任何问题。 解决办法 方案一 在QGrahpicsView中将整个显示上下翻转,也就是坐标系还是原来的坐标系,...

    血溅五步的专栏 524

    QT之图形视图框架概述——Graphics View Framework

    QT之图形视图框架概述——Graphics View Framework

    weixin_41111116的博客 1210

    Qt】QGraphicsView框架(Qt Graphics View Framework)简介-用于构建复杂 2D 交互式图形界面

    Qt Graphics View Framework 是一个功能强大且灵活的 2D 图形框架,适用于需要复杂交互和高性能渲染的场景。通过合理使用其核心组件(Scene、View、Item)、坐标系统和优化策略,开发者能够快速构建高效的图形应用程序。

    weixin_43510208的博客 1516

    Qt扫盲- Graphics View框架理论综述

    Graphics View 提供了一个用于管理大量定制 2D 图形项并与之交互的表面,以及一个用于可视化这些项的视图部件,支持缩放和旋转。该框架包括一个事件传播架构,允许Scene中的 Item 具有精确的双精度交互能力。元素可以处理按键事件、鼠标按下、移动、释放和双击事件,它们还可以跟踪鼠标移动。Graphics View 使用BSP(二叉空间划分)树来提供非常快速的 Item 发现,因此,它可以实时可视化大型Scene,即使有数百万个 Item。

    洪源兄 3113

    Qt Graphics View Framework 简介

    作为容器,管理所有的。作为视图,展示的内容。是的子类,提供更复杂的用户界面功能。是所有图形项的基础,可以是简单的图形也可以是复杂的。通过这些类的组合使用,开发者可以创建复杂的 2D 图形界面,实现各种交互和视觉效果。

    github_37290846的博客 1423

    [学习][笔记] qt5 从入门到入坟:<12>Graphics View Framework

    Graphics View Framework Qt 学习之路 2(30):Graphics View Framework

    二次元怪兽的博客 369

    Qt Graphics View Framework

    Item Coordinates(坐标) 每个Item都有自己的坐标系 Item响应鼠标消息是根据鼠标的坐标是否位于item坐标系之内。item的边框算作item的一部分 每个子Item的坐标都是基于其父item的坐标。两个坐标系的(0,0)之差,就是这两个坐标系之间进行坐标转换的关键值。 Scene Coordinates(坐标) Scene 坐标表示了所有item的基坐标(base coordi

    leyou2018 的博客 701

    Qt5 Graphics View Framework

    Graphics View 是一个基于元素(item)的 MV 架构的框架。它可以分成三个部分:元素 item、场景 scene 和视图 view。 基于元素的意思是,它的每一个组件都是一个独立的元素。这是与我们之前讲到过的QPainter状态机机制不同。回忆一下,使用QPainter绘图,大多是采用一种面向过程的描述方式:首先使用drawLine()画一条直线,然后使用drawPolygon(...

    salmonwilliam的博客 1175

    QtGraphics View Framework详解

    现在基本上也已经到了2D绘图部分的尾声,所谓重头戏都是在最后压轴的,现在我们就要来看看在绘图部分功能最强大的Graphics View。我们经常说KDE桌面,新版本的KDE桌面就是建立在Graphics View的基础之上,可见其强大之处。   Qt的白皮书里面这样写道:“Qt Graphics View 提供了用于管理和交互大量定制的 2D 图形对象的平面以及可视化显示对象的视图 w

    Bruce_0712的博客 1612

    c++ qt Graphics View Framework

    Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互;还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转。我们通常所说的 Linux 的 KDE 桌面环境,就是建立在 Graphics View 基础之上的(尽管新版本的 KDE 有向 QML 迁移的趋势)。...

    PHP代码的博客 333

    Qt 学习之路 2(30):Graphics View Framework

    Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互;还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转。我们通常所说的 Linux 的 KDE 桌面环境,就是建立在 Graphics View 基础之上的(尽管新版本的 KDE 有向 QML 迁移的趋势)。 Graphics View 框架包含了一套完整的事件体系,可以用于与场景中的

    有志者事竟成 420

    Qt Graphics View FrameWork图形视图框架

    QT的2D绘图我们使用QPainter实现少量绘图是很理想的,但是如果是要绘制大量的2D图形并且需要能够控制管理时就会显得力不从心。 好在QT视图体系提供了QGraphics View Framework的框架。使用这个框架可以将各图形项进行单独或分组的控制管理。   它包含三个大类:QGraphicsItem 项类(或者叫做图元类),QGraphicsScene 场景类,和 Q

    lpmygod的专栏 1084

    Qt图形视图框架(Graphics View Framework

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码

    justCJH的博客 1695

    QT 绘图设备和Graphics View Framework

    QT 绘图设备和Graphics View Framework ...

    夜空中最亮的星 452
    上一篇: C++类中public、private、protected的区别
    下一篇: QML语法的主要概念
    ?John.
    博客等级 码龄6年 60粉丝 8原创
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值