Qt Charts

    科技2024-11-14  13

    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
    Processed: 0.037, SQL: 8