精华内容
下载资源
问答
  • Qt Charts

    2020-10-07 19:54:07
    Qt Charts概述 Qt Charts模块 Qt Charts模块是一组易于使用的图表组件 基于Qt的Graphics View架构 其核心组件是QChartView和QChart QChartView的父类是QGraphicsView,即为Graphics View架构中的视图组件 QChartView...

    Qt Charts概述

    Qt Charts模块

    Qt Charts模块是一组易于使用的图表组件
    基于Qt的Graphics View架构
    其核心组件是QChartView和QChart
    QChartView的父类是QGraphicsView,即为Graphics View架构中的视图组件
    QChartView是用于显示图表的视图
    QGraphicsItem-->QGraphicsObject-->QGraphicsWidget-->QChart-->QPolarChart
    要在项目中使用Qt Charts模块,需在项目配置文件中增加
    Qt += charts
    在需要使用QtCharts的类的头文件或源程序文件中,使用如下
    #include <QtCharts>
    using namespace QtCharts;/Qt_CHARTS_USE_NAMESPACE
    

    一个简单的QChart绘图程序

    QWidget
    void setCentralWidget(...)// 关联子窗口,子窗口居中
    
    QChartView
    new QChartView(...)// 绑定窗口
    void setChart(...)// 和QChart关联
    
    QChart
    new QChart()// 
    void setTitle(...)
    void addSeries(...)// 轨迹集合
    void setAxisX(...)//
    void setAxisY(...)//
    
    QLineSeries// 二维数据点集合
    new QLineSeries()
    void setName(...)
    void append(...)// 二维数据点
    	
    QValueAxis
    new QValueAxis()
    void setRange(...)// 设置坐标轴范围
    void setTitleText(...)
    

    图表的主要组成部分

    QChartView是QChart的视图组件
    而一个QChart一般包括序列,坐标轴,图例,图表标题等部分
    

    QChartView的功能

    QChartView是QChart的视图组件
    QChartView类定义的函数较少
    - void setChart(QChart* chart)
    - QChart* chart()
    - void setRubberBand(RubberBands& rubberBand)
    设置选择框类型
    即鼠标在视图组件上拖动选择范围的方式,是一个QChartView::RubberBand枚举类型的组合
    QChartView::RubberBand枚举类型有以下几种取值:
    1.QChartView::NoRubberBand
    2.QChartView::VerticalRubberBand
    3.QChartView::HorizontalRubberBand
    4.QChartView::RectangleRubberBand
    - RubberBands rubberBand()
    返回设置的选择框类型
    

    序列

    序列是数据的表现形式
    图表的类型主要是由序列的类型决定的
    常见的图表类型有折线图,柱状图,饼图,散点图等
    QAbstractSeries
    派生出了
    QAreaSeries
    QBoxPlotSeries
    QAbstractBarSeries
    QPieSeries
    QXYSeries
    
    QAbstractBarSeries派生出了
    QBarSeries
    QHorizontalBarSeries
    QHorizontalPercentBarSeries
    QHorizontalStackedBarSeries
    QPercentBarSeries
    QStackedBarSeries
    
    QXYSeries派生出了
    QLineSeries
    QScatterSeries
    
    QLineSeries派生出了
    QSplineSeries
    

    坐标轴

    一般的图表都有横轴和纵轴两个坐标轴
    坐标轴用QValueAxis类的数值坐标轴
    如用对数坐标,用QLogValueAxis
    柱状图的横坐标通常是文字,可用QBarCategory作为横轴
    饼图一般没坐标轴
    
    QValueAxis			数值坐标轴
    QCategoryAxis		分组数值坐标轴
    QLogValueAxis		对数数值坐标轴
    QBarCategoryAxis	类别坐标轴
    QDateTimeAxis		日期时间坐标轴
    
    QAbstractAxis派生了QValueAxis, QLogValueAxis, QBarCategoryAxis, QDateTimeAxis
    QValueAxis派生了QCategoryAxis
    
    坐标轴类封装了坐标轴的刻度,标签,网格线,标题等
    

    图例

    图例是对图表上显示的序列的示例说明
    QLegend是封装了图例控制功能的类,可为每个序列设置图例中的文字
    可控制图例显示在图表的上下左右不同位置
    对图例还有一个类QLegendMarker,可为每个序列的图例生成一个类似与QCheckBox的组件
    

    QChart绘制折线图

    实例功能

    图表的标题,图例,边距等属性设置
    QLineSeries序列的属性设置
    QValueAxis坐标轴的属性设置
    图表的缩放
    - 工具栏
    - 主工作区图表视图
    - 图表属性设置面板
    

    主窗口类定义和初始化

    #include <QtCharts>
    Qt_CHARTS_USE_NAMESPACE
    
    QLineSeries
    new QLineSeries()
    void setName(...)
    void setPen(...)
    void clear()
    void append(...)
    
    QPen
    void setStyle(...)
    void setWidth(...)
    void setColor(...)
    
    QValueAxis
    void setRange(...)
    void setLabelFormat(...)
    void setTickCount(...)
    void setMinorTickCount(...)
    void setTitleText(...)
    
    QChart
    new QChart()
    void setTitle(...)
    void addSeries(...)
    void setAxisX(...)
    void setAxisY(...)
    ? series()
    QString title()
    QMargins margins()
    
    QChartView
    void setChart(...)
    void setRenderHint(...)
    QChart* chart()
    
    qsrand(...)
    qreal
    qrand()
    qSin(...)
    qCos(...)
    

    画笔设置对话框QWDialogPen

    QWDialogPen
    
    QPen
    ? style()
    

    QChart的设置

    QChart是组合图表各部件,显示各种数据序列的绘图组件
    QChart接口众多
    QChart类的主要函数
    
    	分组				函数名					功能描述
    	图表外观			void setTitle(...)
    					void setTitleFont(...)
    					void setTitleBrush(...)
    					void setTheme(...)
    					void setMargins(...)
    					QLegend* legend()
    					void setAnimationOptions()
    	数据序列			void addSeries(...)
    					QList<QAbstractSeries*> series(...)
    					void removeSeries(...)
    					void removeAllSeries(...)
    
    	坐标轴			void addAxis(...)
    					QList<QAbstractAxis*> axes()
    					void setAxisX(...)
    					void setAxisY(...)
    					void removeAxis(...)
    					void createDefaultAxes(...)
    

    QLineSeries序列的设置

    QLineSeries类的主要函数
    
    	分组				函数						功能描述
    	序列名称			void setName(...)
    	图表				QChart* chart()
    	序列外观			void setVisible()
    					void show()
    					void hide()
    					void setColor(...)
    					void setPen(...)
    					void setBrush(...)
    					void setOpacity(...)
    	数据点			void setPointsVisible(...)
    					void append(...)
    					void insert(...)
    					void replace(...)
    					void clear()
    					void remove(...)
    					void removePoints(...)
    					int count()
    					QPointF& at()
    					QList<QPointF> points()
    					QVector<QPointF> pointsVector()
    	数据点标签		void setPointLabelsVisible()
    					void setPointLabelsColor(...)
    					void setPointLabelsFont(...)
    					void setPointLabelsFormat(...)
    					void setPointLabelsClipping(...)
    	坐标轴			bool attachAxis(...)
    					bool detachAxis(...)
    					QList<QAbstractAxis*> attachedAxes()
    
    QLineSeries
    bool isVisible()
    bool pointsVisible()
    int opacity()
    bool pointLabelsVisible()
    void setPointLabelsFormat(...)
    QLineSeries& operator<<(...)
    void append(...)
    void attachAxis(...)
    
    QChart
    void addAxis(...)
    

    QValueAxis坐标轴设置

    QValueAxis类的主要函数
    
    	分组				函数					功能描述
    	坐标轴整体		void setVisible(...)
    					Qt::Orientation orientation(...)
    					void setMin(...)
    					void setMax(...)
    					void setRange(...)
    	轴标题			void setTitleVisible(...)
    					void setTitleText(...)
    					void setTitleFont(...)
    					void setTitleBrush(...)
    	轴标签			void setLabelFormat(...)
    					void setLabelsAngle(...)
    					void setLabelsBrush(...)
    					void setLabelsColor(...)
    					void setLabelsFont(...)
    					void setLabelsVisible(...)
    	轴线和刻度线		void setTickCount(...)
    					void setLineVisible(...)
    					void setLinePen(...)
    					void setLinePenColor(...)
    	主网格线			void setGridLineColor(...)
    					void setGridLinePen(...)
    					void setGridLineVisible(...)
    	次刻度和次网格线	void setMinorTickCount(...)
    					void setMinorGridLineColor(...)
    					void setMinorGridLinePen(...)
    					void setMinorGridLineVisible(...)
    
    - 坐标轴标题
    - 轴线和刻度线
    - 轴标签
    - 主网格线
    - 次网格线
    
    
    QChart
    QValueAxis* axisX()
    QValueAxis* axisY()
    
    
    QValueAxis
    int min()
    int max()
    QString titleText()
    bool isTitleVisible()
    QString labelFormat()
    bool labelsVisible()
    bool isGridLineVisibel()
    bool isLineVisible()
    int tickCount()
    int minorTickCount()
    bool isMinorGridLineVisible()
    void setLabelFormat(...)
    

    各种常见图表的绘制

    实例功能概述

    除了折线图,Qt Charts还提供柱状图,饼图,百分比柱状图等常见图表
    

    数据准备

    QStringList
    QString& operator<<(...)
    
    
    
    QTableView
    void setModel(...)
    
    QStandardItemModel
    new QStandardItemModel(...)
    void setHorizontalHeaderLabels(...)
    int rowCount()
    void setItem(...)
    
    signal:
    itemChanged()
    
    QStandardItem
    new QStandardItem(...)
    void setTextAlignment(...)
    void setFlags(...)
    int column(...)
    int row()
    QString text()
    	
    QString
    QString asprintf(...)
    double ToDouble()
    
    qsrand(...)
    qrand()
    

    柱状图

    柱状图的绘制

    QChart
    void setTitle(...)
    void setAnimationOptions(...)
    void removeAllSeries()
    void removeAxis(...)
    void addSeries(...)
    
    QBarSet
    new QBarSet(...)
    void append(...)
    
    QBarSeries
    new QBarSeries(...)
    void append(...)
    
    QBarCategory
    
    QLineSeries
    new QLineSeries(...)
    void setName(...)
    void setPen(...)
    void append(...)
    
    QStandardItemModel
    QStandardItem* horizontalHeaderItem(...)
    int rowCount()
    
    QStandardItem
    QString text()
    
    QString
    int toInt()
    
    QPen
    void setColor(...)
    void setWidth(...)
    
    QChartView
    void setChart(...)
    void setRenderHint(...)
    

    柱状图相关的主要类

    - QBarSet
    创建柱状图的数据集
    - QBarSeries
    柱状图序列
    一个序列一般包含多个QBarSet
    - QBarCategoryAxis
    柱状图分类坐标,以文字标签形式表示
    
    QBarSet类的主要函数功能
    
    	分组			函数								功能描述
    	标签			void setLabel(...)				设置数据集的标签,
    				void setLabelBrush(...)			设置标签的画刷
    				void setLabelColor(...)			设置标签的文字颜色
    				void setLabelFont(...)			设置标签的字体
    	数据棒		void setBorderColor(...)		设置数据集的棒图边框颜色
    				void setBrush(...)				设置数据集棒图画刷
    				void setColor(...)				设置数据集棒图填充色
    				void setPen(...)				设置数据集棒图边框画笔
    	数据点		void append(...)				添加一个数据到数据集
    				void insert(...)				从某位置插入一个数据到数据集
    				void remove(...)				从某位置开始删除一定数量的数据
    				void replace(...)				替换某个位置的数据
    				qreal at()
    				int count()
    				qreal sum()
    
    QBarSeries从QAbstractBarSeries类继承而来
    QBarSeries类主要实现对QBarSet的操作
    
    QBarSeries类的主要函数功能
    
    	分组				函数								功能描述
    	外观				void setBarWidth(...)			设置数据棒宽
    					void setLabelsVisible(...)		设置数据棒标签可见性
    					void setLabelsFormat(...)		设置数据棒标签格式
    					void setLabelsPosition(...)  	数据棒标签位置
    					void setLabelsAngle(...)
    
    	数据集			bool append(...)				添加一个QBarSet数据集序列
    					bool insert(...)
    					bool remove(...)
    					bool take(...)
    					void clear()
    					QList<QBarSet*> barSets()		返回数据集对象的列表
    					int count()
    
    QBarCategoryAxis主要函数功能
    
    	分组					函数						功能描述
    	坐标内容				void append(...)
    						void insert(...)
    						void replace(...)
    						void remove(...)
    						void clear()
    						QString at(...)
    						int count()
    						void setCategories()
    	
    	坐标范围				void setMin(...)
    						void setMax(...)
    						void setRange(...)
    

    饼图

    饼图的绘制

    QChartView
    QChart* chart()
    void removeAllSeries(...)
    
    QPieSeries
    new QPieSeries(...)
    void setHoleSize(...)
    void append(...)
    QList<QPieSlice*> slices()
    void setLabelsVisible(...)
    
    QTreeWidgetItem
    
    QTreeWidget
    QTreeWidgetItem* topLevelItem(...)
    
    QPieSlice
    void setLabel(...)
    int percentage()
    void setExploded(...)
    
    QChart
    void addSeries(...)
    void setTitle(...)
    

    饼图相关的主要类

    - QPieSeries
    饼图序列
    
    - QPieSlice
    一个饼图的分块
    
    QPieSeries类的主要函数功能
    
    	分组						函数						功能描述
    	分块操作					bool append(...)
    							bool insert(...)
    							bool remove(...)
    							bool take(...)
    							void clear()
    							QList<QPieSlice*> slices()
    							int count()
    							bool isEmpty()
    							qreal sum()
    
    	外观						void setHoleSize(...)
    							void setPieSize(...)
    							void setLabelsVisible(...)
    
    QPieSlice类的主要函数功能
    
    	分组					函数								功能描述
    	数据					QPieSeries* series()
    						void setValue(...)
    						qreal percentage()
    
    	标签					void setLabelVisible(...)
    						void setLabel(...)
    						void setLabelBrush(...)
    						void setLabelColor(...)
    						void setLabelFont(...)
    						void setLabelPosition(...)
    
    	外观					void setExploded(...)
    						void setPen(...)
    						void setBorderColor(...)
    						void setBorderWidth(...)
    						void setBrush(...)
    						void setColor(...)
    

    堆叠柱状图

    QChartView
    QChart* chart()
    
    QChart
    void removeAllSeries()
    void removeAxis(...)
    
    QBarSet
    new QBarSet(...)
    
    QStackedBarSeries
    
    展开全文
  • qtcharts:QtCharts模块

    2021-05-12 15:54:36
    qtcharts:QtCharts模块
  • Both Qt Assistant (qtcharts.qch) and in HTML format (qtcharts subfolder) documentation is generated. Please refer to the generated documentation for more information: doc/qtcharts/qtcharts-index....
  • QT Charts

    2018-05-30 10:57:12
    The Qt Charts module provides the following chart types: [toc] Line and Spline charts ScreenShots Area and scatter charts ScreenShots Extend : RealTime Data Display ...

    Chart Types

    The Qt Charts module provides the following chart types:

    Line and Spline charts

    ScreenShots
    这里写图片描述
    这里写图片描述

    Area and scatter charts

    ScreenShots
    这里写图片描述
    这里写图片描述
    这里写图片描述
    Extend : RealTime Data Display
    这里写图片描述

    Bar charts

    ScreenShot
    这里写图片描述

    Pie charts

    Box-and-whiskers charts

    Candlestick charts

    Polar charts

    Note

    • In order to user Qt Charts, QT_CHARTS_USE_NAMESPACE must be declared
    • In order to user Qt Charts, Qt5Chartsd.lib
      Qt5Widgetsd.lib
      must be added
    • 这里写图片描述
      this two libs would not be added when create default qt project

    Summary

    Two way to use QChar
    - QChartView + QChart
    - QGraphicsScene + QChart

    Procedure
    1. generate data(.eg)

    QLineSeries *series = new QLineSeries();
    series->append(0, 6);
    series->append(2, 4);
    series->append(3, 8);
    series->append(7, 4);
    series->append(10, 5);
    *series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);

    2.put data into QChart(++QChart seems like data container and manager++)

    QChart *chart = new QChart();
    chart->legend()->hide();
    chart->addSeries(series);
    chart->createDefaultAxes();
    chart->setTitle("Simple line chart example");

    3.use QChartView or QGraphicsScene to render QChat

    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);

    4.Attach QChartView or QGraphicsScene to QMainWindow

    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(400, 300);
    window.show();

    Code

    Link

    展开全文
  • Qt charts

    千次阅读 2015-04-18 11:13:24
    QChart 是qt企业版和专业版才有...qt charts简介:http://www.qt.io/download/ 示例图如下 BarChart Box and Whiskers Line and BarChart Donut Chart Breakdown Multiple Ax

    QChart 是qt企业版和专业版才有的功能。属于收费模块。

    qt charts简介:http://www.qt.io/download/

    示例图如下
    BarChart
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    Box and Whiskers
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    Line and BarChart
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    Donut Chart Breakdown
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    Multiple Axes
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    C Pie Chart Customization
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    PercentBarChart
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qml Weather
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    DateTimeAxis
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    LegendMarkers
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    Audio
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    AreaChart
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅
     
    Qt charts - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

    展开全文
  • Qt and Qt Charts

    2021-01-22 16:39:25
    QtQt Charts入门的好玩的课程。
  • Windows环境QtCharts安装配置说明(qt5.12.2+qtCharts5.12) qtCharts5.12下载地址 我这里选择5.12,你也可以选择你需要的版本

    Windows环境QtCharts安装配置说明(qt5.12.2+qtCharts5.12)

    qtCharts5.12下载地址
    我这里选择5.12,你也可以选择你需要的版本
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    分别下了QtCharts 5.7 、5.12和5.12.2这三个版本,使用qt5.12.2来编译发现都报错

    解决方法

    1. 维护安装
      (1)双击运行 MaintenanceTool.exe
      在这里插入图片描述
      (2)断网运行,免得需要输入登录QT账号
      在这里插入图片描述
      (3)选择skip跳过
      在这里插入图片描述
      (4)点击设置
      在这里插入图片描述
      在这里插入图片描述
      临时库的值
      http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/

    (5)一定要勾选QtCharts
    注意:如果没有发现qtCharts,那就把qt整个卸载了,然后重装,重装的时候一定要勾选Qt Charts
    在这里插入图片描述
    (5)点击下一步
    (6)安装完成后,不用做任何配置,工程自动识别QtCharts

    展开全文
  • Qt qml 下使QtCharts

    2021-05-06 15:55:46
    文章目录Qt Qml 下使用QtCharts1.1 引入文档1.2 在pro中包含 charts1.3 运行官方例子1.4 修改main文件1.5 手动拷贝 相关文件 Qt Qml 下使用QtCharts 先说场景,项目中需要用到QtCharts,所以就得搞一下了,最简单的...
  • QtCharts module.zip

    2021-03-28 23:02:20
    qtcharts,qt的图表模块程序
  • QTCharts源代码

    2017-10-10 15:21:21
    为了满足Qt下安装QtCharts所需要的,特提供QtCharts的源码下载,安装步骤可参考各类网页
  • Qt 5.6.2使用QtCharts

    千次阅读 2019-08-28 20:27:31
    编译源码 1.用qt 5.6.2 mingw 打开QtCharts源码工程文件 QtCharts源码下载: ...提取码:f8oy 2.选择release 构建 ,编译...3.创建一个QtCharts文件夹,将编译生成的lib文件放到QtCharts文件夹中,只留下.a .prl .dl...
  • qt charts2.1.0

    2016-01-22 17:55:07
    As announced recently, the Qt Add-ons licensing will be changed so that the Qt Charts module becomes available under both GPLv3 and commercial license terms. The source code for the module has already...
  • Qt控件-Qt Charts

    2018-06-21 15:51:26
    参考 Qt Charts Examples Qt Charts效果 极坐标图 Polar Chart Example

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 840
精华内容 336
关键字:

qtcharts