qt中charts图表的使用方法

news2024/9/20 0:57:17

折线图

#include "widget.h"
#include "ui_widget.h"
#include <QtCharts/QChart>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include<QVBoxLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{

    ui->setupUi(this);

    //创建一个 QChart 对象,并设置其标题为 "Sample Line Chart"。
    QChart *chart = new QChart();
    chart->setTitle("Sample Line Chart");
    //创建一个 QLineSeries 对象,这是用于存储折线图数据的系列。
    QLineSeries *series = new QLineSeries();
    //使用 append 方法向系列中添加数据点。这里添加了三个数据点:(0, 1),(1, 2) 和 (2, 3)。
    series->append(0, 1);
    series->append(1, 2);
    series->append(2, 3);
    //将数据系列添加到图表中
    chart->addSeries(series);
    //创建一个 QChartView 对象,它是一个视图,用于显示图表。
    QChartView *chartView = new QChartView(chart);
    //创建一个垂直布局 QVBoxLayout。
    QVBoxLayout *layout = new QVBoxLayout;
    //将图表视图添加到布局中。
    layout->addWidget(chartView);
    //将布局设置为窗口小部件的布局。
    this->setLayout(layout);

}

在这里插入图片描述

饼图:

#include "widget.h"
#include "ui_widget.h"
#include <QtCharts/QChart>
#include <QtCharts/QChartView>
#include <QtCharts/QPieSeries>
#include<QVBoxLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{

    ui->setupUi(this);

    // 创建饼图
    QChart *chart = new QChart();
    chart->setTitle("Sample Pie Chart");

    // 创建饼图系列
    QPieSeries *series = new QPieSeries();
    series->append("Apples", 30); // 添加数据项和对应的值
    series->append("Oranges", 20);
    series->append("Pears", 50);

    // 将饼图系列添加到图表中
    chart->addSeries(series);

    // 饼图特定的设置
    series->setLabelsVisible(true); // 显示标签
    series->setHoleSize(0.2); // 设置饼图中心的空白大小

    // 创建图表视图
    QChartView *chartView = new QChartView(chart);

    // 创建布局并添加图表视图
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(chartView);
    this->setLayout(layout);

}

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

在这里插入图片描述

柱状图:

#include "widget.h"
#include "ui_widget.h"
#include <QtCharts/QChart>
#include <QtCharts/QChartView>
#include <QtCharts/QBarSeries>
#include <QtCharts/QBarSet>
#include<QVBoxLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{

    ui->setupUi(this);

    // 创建柱状图
    QChart *chart = new QChart();
    chart->setTitle("Sample Bar Chart");

    // 创建柱状图系列
    QBarSeries *series = new QBarSeries();

    // 创建不同的柱状集
    QBarSet *setApples = new QBarSet("Apples");
    setApples->append(30); // 苹果的数量

    QBarSet *setOranges = new QBarSet("Oranges");
    setOranges->append(20); // 橙子的数量

    QBarSet *setPears = new QBarSet("Pears");
    setPears->append(50); // 梨的数量

    // 将柱状集添加到系列中
    series->append(setApples);
    series->append(setOranges);
    series->append(setPears);

    // 将柱状图系列添加到图表中
    chart->addSeries(series);

    // 创建图表视图
    QChartView *chartView = new QChartView(chart);

    // 创建布局并添加图表视图
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(chartView);
    this->setLayout(layout);
}

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1942489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知识图谱 | 基于电商网站中的商品分类目录构建知识图谱

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本项目旨在构建一个基于电商网站商品分类目录的知识图谱&#xff0c;通过Python程序爬取分类信息&#xff0c;形成商品的目录树&#xff0c;并提取底层商品的概念信息。项目将重点展示如何利用知识图谱呈现概念层级知识&#xf…

等保测评练习卷17

等级保护初级测评师试题17 姓名&#xff1a; 成绩&#xff1a; 判断题&#xff08;10110分&#xff09; 1. 关于安全区域边界的安全审计&#xff0c;三级系统的要求包括应对审计进程进行保护&#x…

Java实现分卷压缩功能,不引入第三方依赖的实现方式

分卷压缩 分卷压缩是一种将一个大文件分割成多个较小文件的压缩方法。这种方法通常用于便于存储、传输或备份大文件。分卷压缩的主要特点和步骤包括: 分割大文件:将一个大文件分割成多个较小的文件,每个小文件称为一个“分卷”。压缩分卷:对每个分卷进行压缩,以减少每个分…

【复习】软件工程

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现&#xff1a; 开发成本和进度的估计常常很不准确 用户对已完成的软件系统不满意&#xff0c;闭门造车 软件质量&#xff08;quality&#xff09;不可靠 软件常常是不可维护的 软件产品供不应…

java的DOS命令

目录 1.DOS命令了解 DOS介绍 常用的dos命令1 DOS的基本原理 相对路径与绝对路径 常用的dos命令2 2.本章作业 1.编写hello&#xff0c;world程序 2.输出个人基本信息 3.jdk&#xff0c;jre&#xff0c;jvm关系 4.环境变量path配置及作用 5.java编写步骤 6.java编写7…

14、如何⽤DDD设计微服务代码模型

在完成领域模型设计后&#xff0c;接下来我们就可以开始微服务的设计和 落地了。在微服务落地前&#xff0c;⾸先要确定微服务的代码结构&#xff0c;也就是我 下⾯要讲的微服务代码模型。 只有建⽴了标准的微服务代码模型和代码规范后&#xff0c;我们才可以将 领域对象映射到…

C#初级——输出语句和转义字符

输出语句 在C#中&#xff0c;C#的输出语句是通过Console类进行输出&#xff0c;该类是一个在控制台下的一个标准输入流、输出流和错误流。使用该类下的Write()函数&#xff0c;即可打印要输出的内容。 Console.Write("Hello World!"); //在控制台应用中打印Hell…

websocket状态机

websocket突破了HTTP协议单向性的缺陷&#xff0c;基于HTTP协议构建了双向通信的通道&#xff0c;使服务端可以主动推送数据到前端&#xff0c;解决了前端不断轮询后台才能获取后端数据的问题&#xff0c;所以在小程序和H5应用中被广泛使用。本文主要集合报文分析对于websocket…

Python 机器学习求解 PDE 学习项目——PINN 求解一维 Poisson 方程

本文使用 TensorFlow 1.15 环境搭建深度神经网络&#xff08;PINN&#xff09;求解一维 Poisson 方程: − Δ u f in Ω , u 0 on Γ : ∂ Ω . \begin{align} -\Delta u & f \quad & \text{in } \Omega,\\ u & 0 \quad & \text{on } \Gamma:\partial \Om…

2024.7.22(nfs、samba)

一、web_server作用是发布nginx的web项目 1、停用selinux关闭防火墙 [rootnfs_server ~]# setenforce 0 [rootnfs_server ~]# vim /etc/selinux/config [rootnfs_server ~]# systemctl stop firewalld [rootnfs_server ~]# systemctl disable firewalld 2、安装nginx [rootwe…

四、GD32 MCU 常见外设介绍 (4) EXTI 中断介绍

4.EXTI 中断介绍 EXTI(中断/事件控制器)包含多个相互独立的边沿检测电路并且能够向处理器内核产生中断请求或唤醒事件。 EXTI 有三种触发类型&#xff1a;上升沿触发、下降沿触发和任意沿触发。 EXTI中的每一个边沿检测电路都可以独立配置和屏蔽。 4.1.GD32 EXTI 外设原理简介…

Nginx Rewrite(企业网站架构部署与优化)

Nginx Rewrite介绍 本章结构 实验步骤&#xff1b; 先在服务器1上写三个location&#xff1b;且等级各不相同&#xff1b; 如下&#xff1b;先将之前的location注释掉&#xff0c;避免冲突&#xff1b; 重启服务后生效&#xff1b; 如果用户输入的域名后只加了一个/或/都没有…

深入浅出C语言指针(进阶篇)

深入浅出C语言指针(基础篇) 深入浅出C语言指针(进阶篇) 目录 引言 一、指针和数组 1.数组名的理解 2.指针访问数组 3.一维数组传参的本质 二、二级指针 1.二级指针的概念 2.二级指针的内存表示 3.二级指针的解引用 三、字符指针 1.指针指向单个字符 2.指针指向字…

JavaWeb(4)JavaScript入门2—— JS的对象和JSON

一、JS的对象 1.声明语法1 通过new Object()直接创建对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><ti…

Linux——vi和vim编辑器

目录 基本介绍 vi和vim常用的三种模式 vi和vim的常用快捷键 基本介绍 vi和vim常用的三种模式 vi和vim的常用快捷键 网上找的快捷键盘图

docker搭建ES 8.14 集群

参考&#xff1a;【docker搭建es8集群kibana】_docker 安装生产级 es 8.14 集群-CSDN博客 1、之前已搭建一台单机版的dockerES集群 参见 Elasticsearch docker 安装_docker 安装es8.14.3-CSDN博客 2、现在需要重新搭建为docker ES集群 准备新搭建3个点 一、准备工作 提前开…

txt格式单词导入有道词典生词本 (java代码方式)

txt格式单词导入有道词典生词本 (java代码方式) 首先要求txt文档里单词的格式&#xff0c;大概需要像这种&#xff1a; 每行是一个单词&#xff0c;格式为&#xff1a;英文单词空格词性单词意思。 注意 导出单词本的名字就是你 txt 文件的名字 我这里是 公共英语三级 单词本 …

WPF项目实战视频《二》(主要为prism框架)

14.prism框架知识&#xff08;1&#xff09; 使用在多个平台的MVVM框架 新建WPF项目prismDemo 项目中&#xff1a;工具-NuGet包管理&#xff1a;安装Prism.DryIoc框架 在git中能看Prism的结构和源代码&#xff1a;git链接地址 例如&#xff1a;Prism/src/Wpf/Prism.DryIoc.Wpf…

Linux中tomcat下载教程

一.安装tomcat 1.安装 EPEL 仓库&#xff1a; sudo yum install epel-release2.安装 Tomcat&#xff1a; sudo yum install tomcat3.启动 Tomcat 服务&#xff1a; sudo systemctl start tomcat4.启用 Tomcat 服务开机启动&#xff1a; sudo systemctl enable tomcat5.检查…

SpringCloud 环境工程搭建

SpringCloud 环境&工程搭建 文章目录 SpringCloud 环境&工程搭建1. SpringCloud介绍2. 服务拆分原则2.1 单一职责原则2.2 服务自治2.3 单向依赖2.4 服务拆分示例 3. 数据准备4. 工程搭建4.1 创建父工程4.2 创建子工程4.2.1 子项目-订单服务4.2.2 子项目-商品服务 4.3 完…