《Qt5+QtChart绘制二维图表》

Qt图表概述


官方文档:http://doc.qt.io/qt-5/qtcharts-overview.html#line-and-spline-charts

Qt Charts可以创建时尚,互动,以数据为中心的用户界面。Qt Charts使用Graphics View Framework来简化集成。图表组件可以用作QWidgetQGraphicsWidget对象或QML类型。

 

图表类型


Qt Charts模块提供以下图表类型:

  • 线和样条图:线和样条图将数据显示为由线连接的一系列数据点。在折线图中,数据点通过直线连接,而在样条图中,它们通过样条连接。使用QPainterPath绘制样条曲线。
  • 面积和散点图:面积图将数据显示为由两条线约束的区域,而散点图将数据显示为点的集合。
  • 条形图:条形图将数据显示为按类别分组的水平或垂直柱状图。
  • 饼状图:饼图将数据显示为由扇形组成的饼图。
  • 盒子和胡须图表:盒须图表显示数据为四分位数,用胡须表示,显示值的可变性。框图系列中的项目按类别分组,类似于条形系列中的条形图集。对于每个盒子和胡须项目,指定下限,下四分位数,中位数,上四分位数和上限值。
  • 烛台图表:烛台图表显示了一系列显示为烛台的数据。
  • 极地图表 :极坐标图以圆形图形显示数据,其中数据的放置基于距图形中心(极点)的角度和距离。

 


Qt Charts支持以下轴类型:

  • 价值轴
  • 类别轴
  • 条形轴类型
  • 日期时间轴
  • 对数值轴

 

Legend


Legend是显示图表图例的图形对象。无法创建或删除图例对象,但可以通过QChart类或ChartView QML类型引用它们。当系列更改时,图例状态由QChartChartView更新。

Legend可以位于图表的下方或上方,也可以位于图表的左侧或右侧。默认情况下,Legend附加到图表视图,但它可以分离到可以自由移动的单独图形项目。

可以隐藏图例或整个Legend中的单个标记。

 

与图表交互


最终用户可以通过动态地向其添加值,向下钻取数据,放大和缩小图表,滚动图表,单击图表中的项目或将鼠标悬停在图表上来与图表进行交互。

动态绘制数据

可以动态地向图表添加数据,并使图表视图自动滚动以显示新数据。

有关更多信息,请参见动态样条线示例

深入研究数据

例如,可以对条形图或饼图实施向下钻取效果。当用户选择图表中的项目时,将显示该项目的更详细视图。这是通过删除第一个系列并添加另一个系列来实现的。

缩放和滚动

用户可以使用键盘进行缩放和滚动。他们可以使用箭头键滚动图表,并使用加号和减号键放大或缩小图表。此外,QRubberBand可用于选择要放大的区域。

在触摸设备上,手势可用于平移和缩放。

单击并悬停

您可以将插槽连接到最终用户单击图表中的项目或将鼠标悬停在其上时发出的信号。这使您可以向图表添加元素,例如标注。

 

主题


主题是应用于图表的所有可视元素的UI样式相关设置的内置集合,例如颜色,笔,画笔和系列字体,以及轴,标题和图例。

Qt Charts附带以下预定义主题:

  • Light主题,这是默认主题
  • Cerulean蓝色主题
  • 黑暗的主题
  • 沙棕色主题
  • 自然色系(NCS)蓝色主题
  • 高对比度主题
  • 冰冷的蓝色主题
  • Qt主题

可以通过更改颜色,笔,画笔和字体来自定义主题。可以通过修改Qt Charts源代码添加新主题。

注意:更改主题将覆盖先前应用于该系列的所有自定义。

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt、Assimp和OpenGL是三种常用的工具,在三维模型设计中发挥着重要的作用。Qt是一个跨平台的C++应用程序开发框架,它为用户提供了GUI和其他一些基本的用户界面组件。Assimp是一个允许用户读取和写入多种3D文件格式的库,包括OBJ、FBX、DAE等。OpenGL是一种用于创建高性能的计算机形的API。因此,将这三种工具结合使用,可以方便地进行三维模型的开发。 在使用Qt、Assimp和OpenGL进行三维模型开发时,Qt主要负责提供GUI界面和基本的用户界面组件。Assimp则用于读取和写入不同格式的三维模型,然后通过OpenGL进行渲染展示。OpenGL作为一个底层API,提供了强大的形处理能力,允许用户在计算机上创建复杂的3D场景和动画。 具体地说,使用这三种工具进行三维模型开发的步骤通常如下:首先用Assimp读入各种格式的三维模型文件,然后通过OpenGL进行渲染显示。Qt可以用于创建一个GUI界面,方便用户进行模型读取、渲染、缩放、旋转、材质设定等基本的操作。同时,用户可以通过Qt的事件机制来和OpenGL进行交互:比如通过鼠标事件、键盘事件等,实现对三维模型的选择、移动等控制。在此基础上,用户还可以通过OpenGL的扩展和着色器功能等,使三维模型的渲染更加复杂和高效。 总之,Qt、Assimp和OpenGL是三种常用的工具,它们的结合使用可以让用户方便地进行三维模型的设计和开发。在实际应用中,用户可以根据实际需求选择不同的工具和技术,实现更加复杂和高效的三维模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值