Qchart 显示柱状图

2024-01-27 03:36
文章标签 显示 柱状图 qchart

本文主要是介绍Qchart 显示柱状图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、添加 QT += charts
  • 二、测试
    • 1.测试1
    • 2.更正
    • 3.效果:
    • 4.在改进一下
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

项目中用到Qchart 显示柱状图,做个测试记录一下


提示:以下是本篇文章正文内容,下面案例可供参考

一、添加 QT += charts

在pro中添加在这里插入图片描述

QT += charts

二、测试

1.测试1

代码如下(示例):

#include <QtCharts>using namespace QtCharts;// 创建柱状图
QBarSeries *series = new QBarSeries();// 添加数据
series->append(0, 6);
series->append(2, 4);
series->append(3, 8);// 创建图表
QChart *chart = new QChart();
chart->addSeries(series);
chart->createDefaultAxes();// 设置图表标题
chart->setTitle("Simple Bar Chart Example");// 创建图表视图
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);// 显示图表视图
chartView->show();

问题:

series->append(0, 6);这个代码不能用

在这里插入图片描述
no matching function for call to ‘QtCharts::QBarSeries::append(int, int)’
能用才怪

2.更正

代码如下(示例):

#include "mainwindow.h"#include <QApplication>#include <QtCharts>using namespace QtCharts;int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();// 创建柱状图QBarSeries *series = new QBarSeries();QBarSet *set = new QBarSet("Label");*set << 7 <<2<<8; // 这里假设我们有两个类别,索引为0的值是6// 添加数据series->append(set);//  *set << 1 << 2 ; // 这里假设我们有两个类别,索引为0的值是6// series->append(set);//  *set << 2 << 5 ; // 这里假设我们有两个类别,索引为0的值是6// series->append(set);// 创建图表QChart *chart = new QChart();chart->addSeries(series);chart->createDefaultAxes();// 设置图表标题chart->setTitle("Simple Bar Chart Example");// 创建图表视图QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);// 显示图表视图chartView->show();return a.exec();
}

3.效果:

在这里插入图片描述

4.在改进一下

#include "mainwindow.h"
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QApplication>
#include <QtCharts/QChartView>
#include <QtCharts/QBarSeries>
#include <QtCharts/QBarSet>
#include <QtCharts/QLegend>
#include <QtCharts/QBarCategoryAxis>using namespace QtCharts;int main(int argc, char *argv[])
{QApplication a(argc, argv);// 创建一个主窗口QMainWindow window;// 创建一个柱状图系列QBarSeries *series = new QBarSeries();// 创建一个条目集合,并添加数据QBarSet *set = new QBarSet("Data");*set << 1 << 2 << 3 << 4 << 5; // 添加5个数据点// 将集合添加到系列中series->append(set);// 创建一个图表QChart *chart = new QChart();chart->addSeries(series); // 将系列添加到图表中chart->setTitle("Simple bar chart example");chart->setAnimationOptions(QChart::SeriesAnimations);// 创建坐标轴QStringList categories;categories << "Jan" << "Feb" << "Mar" << "Apr" << "May";QBarCategoryAxis *axisX = new QBarCategoryAxis();axisX->append(categories);chart->createDefaultAxes();chart->setAxisX(axisX, series);// 添加图例chart->legend()->setVisible(true);chart->legend()->setAlignment(Qt::AlignBottom);// 创建一个图表视图,并将图表设置为视图的中心部件QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);// 将图表视图设置为主窗口的中心部件window.setCentralWidget(chartView);// 显示主窗口window.resize(420, 300);window.show();return a.exec();
}

效果
在这里插入图片描述

总结

继续努力

这篇关于Qchart 显示柱状图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

C# dateTimePicker 显示年月日,时分秒

dateTimePicker默认只显示日期,如果需要显示年月日,时分秒,只需要以下两步: 1.dateTimePicker1.Format = DateTimePickerFormat.Time 2.dateTimePicker1.CustomFormat = yyyy-MM-dd HH:mm:ss Tips:  a. dateTimePicker1.ShowUpDown = t