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

Qt6.3.2下QChart的使用

Qt6.3.2下QChart的使用

文章目录

  • Qt6.3.2下QChart的使用
    • 一、Qt6.3.2下Qt Charts的安装
    • 二、CMakeList.txt文件改写
    • 三、例子
    • 四、结果

Qt小白。
看了很多关于QCharts的使用说明。一直没能在Qt6.3.2下使用成功。总结一下失败经验。

一、Qt6.3.2下Qt Charts的安装

环境:win11,Qt6.3.2
选择在线安装,安装的时候选择6.3.2,下面的additional library全选

二、CMakeList.txt文件改写

生成新工程后,如果直接用QChart是会有各种奇怪错误。需要在CMakeList.txt中增加两行:

find_package(Qt6 REQUIRED COMPONENTS Charts)
target_link_libraries(mychart PUBLIC
    Qt::Charts
)

三、例子

其他代码的写法参照网上或例程即可。

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

#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>
#include <QtCharts/QSplineSeries>

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

    QSplineSeries *series1 = new QSplineSeries();//实例化一个QLineSeries对象
    series1->setColor(QColor(0,100,255));
    series1->append(QPointF(0,rand()%200)) ;
    series1->append(QPointF(30,rand()%200)) ;
    series1->append(QPointF(60,rand()%200)) ;
    series1->append(QPointF(90,rand()%200)) ;
    series1->append(QPointF(120,rand()%200)) ;
    series1->setName("线条1");

    series1->setVisible(true);
    series1->setPointLabelsFormat("(@xPoint,@yPoint)");
    series1->setPointLabelsVisible(true);

    QChart *m_chart;
    m_chart = new QChart;
    m_chart->setTheme(QChart::ChartThemeLight);//设置白色主题
    m_chart->setDropShadowEnabled(true);//背景阴影    m_chart->setAutoFillBackground(true);  //设置背景自动填充
    m_chart->addSeries(series1);//添加系列到QChart上


    m_chart->setTitleBrush(QBrush(QColor(0,0,255)));//设置标题Brush
    m_chart->setTitleFont(QFont("微软雅黑"));//设置标题字体
    m_chart->setTitle("曲线图");


    //创建X轴和Y轴
    QValueAxis *axisX = new QValueAxis;
    axisX->setRange(0,150);    //默认则坐标为动态计算大小的
    axisX->setLabelFormat("%dS");
    QValueAxis *axisY = new QValueAxis;
    axisY->setRange(0,250);    //默认则坐标为动态计算大小的
    axisY->setTitleText("value值");

    m_chart->setAxisX(axisX,series1);
    m_chart->setAxisY(axisY,series1);
    //m_chart->createDefaultAxes();             //或者创建默认轴

    //修改说明样式
    m_chart->legend()->setVisible(true);
    m_chart->legend()->setAlignment(Qt::AlignBottom);//底部对齐
    m_chart->legend()->setBackgroundVisible(true);//设置背景是否可视
    m_chart->legend()->setAutoFillBackground(true);//设置背景自动填充
    m_chart->legend()->setColor(QColor(222,233,251));//设置颜色
    m_chart->legend()->setLabelColor(QColor(0,100,255));//设置标签颜色
    m_chart->legend()->setMaximumHeight(50);
    QChartView *chartView = new QChartView(m_chart);
    chartView->setRenderHint(QPainter::Antialiasing);

    QVBoxLayout *pVLayout = new QVBoxLayout(this);//ui->verticalLayout;//
    pVLayout->addWidget(chartView);

    resize(960, 720);

}


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

四、结果

这运行结果:
运行结果

相关文章:

  • GAM注意力机制
  • ts流中的时间概念: pcr,pts,dts 实例解说
  • 申请ISO50430建筑体系认证有哪些注意问题?
  • MyEclipse技术深度剖析——企业级的Java EE Jakarta EE IDE
  • 一分钟学会Selenium
  • 【网络安全】逻辑漏洞保姆级讲解
  • 聚焦能源与双碳管理需求,格创东智为锂电企业降耗赋能
  • 2022年最新最详细的MYSQL数据库安装(详细图解过程、毕成功)
  • VUE路由案例(商品列表)---vue练习必选项目(附原码)
  • 过采样、欠采样
  • 【微服务】Ribbon负载均衡
  • Spring Boot 框架
  • JavaScript系列之async与await
  • Java编写程序输出乘法表
  • 【NLP】第 5 章:循环神经网络和情感分析
  • python3.6+scrapy+mysql 爬虫实战
  • “大数据应用场景”之隔壁老王(连载四)
  • EventListener原理
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Leetcode 27 Remove Element
  • Mysql数据库的条件查询语句
  • opencv python Meanshift 和 Camshift
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • 飞驰在Mesos的涡轮引擎上
  • 回顾 Swift 多平台移植进度 #2
  • 码农张的Bug人生 - 见面之礼
  • 前端代码风格自动化系列(二)之Commitlint
  • 使用Swoole加速Laravel(正式环境中)
  • 提醒我喝水chrome插件开发指南
  • 栈实现走出迷宫(C++)
  • 智能网联汽车信息安全
  • 白色的风信子
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #100天计划# 2013年9月29日
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (12)目标检测_SSD基于pytorch搭建代码
  • (3)llvm ir转换过程
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (二)学习JVM —— 垃圾回收机制
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (四)图像的%2线性拉伸
  • (转)memcache、redis缓存
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .htaccess配置重写url引擎
  • .net 按比例显示图片的缩略图
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET连接MongoDB数据库实例教程
  • .NET中winform传递参数至Url并获得返回值或文件