首页 > 其他分享 >Qt常用图表: 折线图_柱形图_饼状图

Qt常用图表: 折线图_柱形图_饼状图

时间:2024-12-02 18:43:51浏览次数:4  
标签:设置 Qt chart 柱形图 sris1 sris2 sris3 折线图 append

折线图

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

     this->setWindowTitle(QStringLiteral("我自定义的标题"));
    // 调用此函数myselfLineSeriesFunc()
    myselfLineSeriesFunc();
}

Widget::~Widget()
{
    delete ui;
}

void Widget::myselfLineSeriesFunc()
{

    // 实例化图表QChart对象
    QChart *chart=new QChart;

    chart->setTitle("全球各国军费增长折线图"); // 设置标题名称

    ui->graphicsView->setChart(chart);

    // 设置X坐标
    QValueAxis *axisX=new QValueAxis;
    axisX->setTitleText("年份"); // 设置标题名称
    axisX->setRange(2017,2021); // 设置范围
   // axisX->setTickCount(6); // 设置刻度个数
    axisX->setLineVisible(true);
    axisX->setGridLineVisible(false); // 设置网格线是否可见

    QValueAxis *axisY=new QValueAxis;
    axisY->setTitleText("军费(万亿:美元)"); // 设置标题名称
    axisY->setRange(2000,10000); // 设置范围
    axisY->setTickCount(5); // 设置刻度个数
    axisY->setLineVisible(true);
    axisY->setGridLineVisible(false); // 设置网格线是否可见


    // 绘制折线图 ,设置序列
    QLineSeries *sris1=new QLineSeries;
    sris1->setName("中国");
    sris1->setColor(QColor(255,0,0)); // 设置序列颜色值
    // 添加数据点到序列
    sris1->append(2017,5000);
    sris1->append(2018,6500);
    sris1->append(2019,4900);
    sris1->append(2020,8000);
    sris1->append(2021,9000);

    // 绘制折线图 ,设置序列
    QLineSeries *sris2=new QLineSeries;
    sris2->setName("美国");
    sris2->setColor(QColor(0,255,0)); // 设置序列颜色值
    // 添加数据点到序列
    sris2->append(2017,6500);
    sris2->append(2018,7000);
    sris2->append(2019,6900);
    sris2->append(2020,9000);
    sris2->append(2021,9800);

    // 绘制折线图 ,设置序列
    QLineSeries *sris3=new QLineSeries;
    sris3->setName("俄罗斯");
    sris3->setColor(QColor(0,0,255)); // 设置序列颜色值
    // 添加数据点到序列
    sris3->append(2017,4000);
    sris3->append(2018,8000);
    sris3->append(2019,7900);
    sris3->append(2020,10000);
    sris3->append(2021,9500);

    // 为QChart添加序列
    chart->addSeries(sris1);
    chart->addSeries(sris2);
    chart->addSeries(sris3);

    // 将序列设置到坐标轴
    chart->setAxisX(axisX,sris1);
    chart->setAxisY(axisY,sris1);

    chart->setAxisX(axisX,sris2);
    chart->setAxisY(axisY,sris2);

    chart->setAxisX(axisX,sris3);
    chart->setAxisY(axisY,sris3);

}

image

标签:设置,Qt,chart,柱形图,sris1,sris2,sris3,折线图,append
From: https://www.cnblogs.com/wyfm/p/18582469

相关文章

  • QT C++ 解决调试运行时报 The inferior stopped 错误
    (1)报错信息和报错时调用堆栈SignaIReceived-QtCreatorTheinferiorstoppedbecauseitreceivedasignalfromtheoperatingsystem.Signalname:SIGSEGVSignalmeaning:Segmentationfault报错时调用堆栈停留在voidMyTableView::setModel()函数的该行:报错时调用堆栈......
  • Qt Design Studio入门3D项目设计
    一、QtDesignStudio3D设计的优势QtDesignStudio是一个专注于创建高性能用户界面(UI)的设计工具,它在设计3D界面方面具有一下显著优势:1、一体化工作流**1)设计与开发无缝集成:**设计师和开发者可以在同一环境中协作,无需反复转换文件格式或工具。**2)支持QtQuick和3D:*......
  • Qt/C++实现帧同步播放器/硬解码GPU绘制/超低资源占用/支持8K16K/支持win/linux/mac/嵌
    一、前言首先泼一盆冷水,在不同的电脑上实现完完全全的帧同步理论上是不可能的,市面上所有号称帧同步的播放器,同一台电脑不同拼接视频可以通过合并成一张图片来绘制实现完完全全的帧同步,不同电脑,受限于网络的延迟,命令交互的时间占用,不同硬件之间的主频偏差等,肯定会有些许的误差,只要......
  • QT核心模块源码解析:组件与样式
    QT核心模块源码解析:组件与样式使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能......
  • Qt Design Studio常用组件及其属性
    入坑QtDesignStudio        笔者此前一直使用的是Qtcreator与其内置的Qtdesigner进行客户端界面设计和开发,采用的是qwidget+c++的设计方法,由于项目需要进行3D设计,转而学习使用QtDesignStudio,发现qml代码简单,布局直观,对新手更为友好,开发上手快速。因此,后续也会在......
  • Qt for Android的配置方法及遇到的常见问题
    一、QtforAndroid的配置方法:安装正确版本的JavaJDK(经测试,qt6.7.3版本对应于JavaJDK17),并在环境变量中进行添加,Windows控制台使用命令java--version可验证环境变量是否添加成功并查看安装的Java版本。在Qtcreator中进行配置:2.1配置JDK位置后,点击设置SDK可以自动下......
  • 快速安装 Qt 的各种方法
    1在Windows下快速安装Qt由于QT的服务器在国外,而国内通国外的网络往往不够流畅,因此在下载QT时我们经常会出现下载中断的问题。一个好的解决办法是在安装程序时替换下载源,下面我以中科大源为例子,替换QT的下载源。1.1下载Qt安装器首先点击download-open-source下载Qt安......
  • Qt运行生成的exe报错“This application failed to start because no Qt platform plu
    Qt运行生成的exe报错“ThisapplicationfailedtostartbecausenoQtplatformplugincouldbeinitialized.Reinstallingtheapplicationmayfixthisproblem.”报错复现将exe复制一份至单独文件夹中,直接运行会发现报错缺少一些dll去Qt根目录D:\QT\Qt\5.15.0\mingw8......
  • QTableView的在PySide6中的使用
    importsysfromPySide6importQtCore,QtWidgetsfromPySide6.QtCoreimportQAbstractTableModel,QtfromPySide6.QtWidgetsimportQApplication,QMainWindow,QWidgetimportpandasaspdfromui_tableviewimportUi_FormclassDataFrameModel(QAbstractTableMod......
  • Qt - QTimer(定时器)
    基本使用方式:多次定时器QTimer*timer=newQTimer(this);//timer->setInterval(1000);//设置间隔时间connect(timer,SIGNAL(timeout()),this,SLOT(update()));timer->start(1000);//start之后,设置间隔时间并启动定时器,每隔一秒触发一次槽函数 单次定时器注意:可......