当前位置: 首页 > news >正文

Qt 一个简单的QChart 绘图

Qt 一个简单的QChart 绘图

先上程序运行结果图:

“sample9_1QChart.h” 文件代码如下:

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_sample9_1QChart.h"#include <QtCharts>  //必须这么设置
QT_CHARTS_USE_NAMESPACE  //使用宏定义class sample9_1QChart : public QMainWindow
{Q_OBJECTpublic:sample9_1QChart(QWidget *parent = Q_NULLPTR);private:Ui::sample9_1QChartClass ui;private:void createChart();//
};

“sample9_1QChart.cpp” 文件代码如下:

#include "sample9_1QChart.h"//解决QT中中文显示乱码问题
#pragma execution_character_set("utf-8")sample9_1QChart::sample9_1QChart(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);createChart();
}//创建图表
void sample9_1QChart::createChart()
{QChartView *chartView = new QChartView(this); //创建 ChartViewQChart *chart = new QChart(); //创建 Chartchart->setTitle("简单函数曲线");chartView->setChart(chart); //Chart添加到ChartViewthis->setCentralWidget(chartView);//创建曲线序列QLineSeries *series0 = new QLineSeries();QLineSeries *series1 = new QLineSeries();series0->setName("Sin曲线");series1->setName("Cos曲线");chart->addSeries(series0); //序列添加到图表chart->addSeries(series1);//    QPen    pen;//    pen.setStyle(Qt::DotLine);//Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine//    pen.setWidth(2);//    pen.setColor(Qt::red);//    series0->setPen(pen);//    pen.setStyle(Qt::SolidLine);//Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine//    pen.setColor(Qt::blue);//    series1->setPen(pen);//序列添加数值qreal   t = 0, y1, y2, intv = 0.1;int cnt = 100;for (int i = 0; i < cnt; i++){y1 = qSin(t);//+qrand();series0->append(t, y1);y2 = qSin(t + 20);series1->append(t, y2);t += intv;}//    chart->createDefaultAxes();//    chart->axisX()->setTitleText("time(secs)");//    chart->axisY()->setTitleText("value");//创建坐标轴QValueAxis *axisX = new QValueAxis; //X 轴axisX->setRange(0, 10); //设置坐标轴范围//    axisX->setLabelFormat("%.1f"); //标签格式//    axisX->setTickCount(11); //主分隔个数//    axisX->setMinorTickCount(4);axisX->setTitleText("time(secs)"); //标题//    axisX->setGridLineVisible(false);QValueAxis *axisY = new QValueAxis; //Y 轴axisY->setRange(-2, 2);axisY->setTitleText("value");//    axisY->setTickCount(5);//    axisY->setMinorTickCount(4);//    axisY->setLabelFormat("%.2f"); //标签格式//    axisY->setGridLineVisible(false);chart->setAxisX(axisX, series0); //为序列设置坐标轴chart->setAxisY(axisY, series0); //chart->setAxisX(axisX, series1); //为序列设置坐标轴chart->setAxisY(axisY, series1); //
}

运行的时候报错,找不到 QtCharts

#include <QtCharts>  //必须这么设置
QT_CHARTS_USE_NAMESPACE  //使用宏定义

这两个报错

在项目名称上,右键打开项目属性,在图中以下路径添加 QtCharts 的include 配置

然后在 链接器-->输入-->附加依赖项 中添加上 “Qt5Chartsd.lib”

配置完成后,重新运行即可。

Windows下安装VS2013+Qt5.7.0构建Qt开发环境搭建及解决小番茄无法识别、自动补全Qt的问题-CSDN博客

http://www.lryc.cn/news/502575.html

相关文章:

  • 【Java笔记】LinkedList 底层结构
  • el-table组件树形数据修改展开箭头
  • 太速科技-FMC154-基于FMC 八路SFP+万兆光纤子卡
  • 记:排查设备web时慢时快问题,速度提升100%
  • 音视频入门基础:MPEG2-TS专题(13)——FFmpeg源码中,解析Section Header的实现
  • 根据PDF模板单个PDF导出到浏览器和多个PDF打包ZIP导出到浏览器
  • 如何创建一个基本的Spring Boot应用程序
  • 1.2 计算机网络的分类和应用(重要知识点)
  • @JsonSerialize失效解决
  • Docker部署WebRTC-Streamer
  • 2025年的大模型计划重点在于跨领域智能、工作流自动化、多模态能力强化
  • day12 接口测试 ——入门→精通→实战(1)
  • 伏羲0.07(文生图)
  • scala的泛型特质的应用场景
  • Win10环境vscode+latex+中文快速配置
  • 【vue2】el-select,虚拟滚动(vue-virtual-scroller)
  • 【ETCD】[源码阅读]深度解析 EtcdServer 的 processInternalRaftRequestOnce 方法
  • 【RabbitMQ】RabbitMQ中核心概念交换机(Exchange)、队列(Queue)和路由键(Routing Key)等详细介绍
  • 【AI知识】过拟合、欠拟合和正则化
  • 计算机毕设-基于springboot的航空散货调度系统的设计与实现(附源码+lw+ppt+开题报告)
  • 视图、转发与重定向、静态资源处理
  • 优选算法——分治(快排)
  • 【Linux系统】文件系统
  • javaweb的基础
  • 家里养几条金鱼比较好?
  • 写作词汇积累:差池、一体两面、切实可行极简理解
  • 移远EC200A-CN的OPENCPU使用GO开发嵌入式程序TBOX
  • LEED绿色建筑认证最新消息
  • SpringBoot中集成常见邮箱中容易出现的问题
  • webstorm开发uniapp(从安装到项目运行)