QChart入门教程-绘制正弦曲线

2023-11-10

1. 创建界面,将widget作为容器进行绘图,并将widget提升为QChartView类
1.1 单击widget,右键中选择“提升”,提升的类名称中填写“QChartView”,会自动生成头文件名,选择“添加”将类和头文件添加进要提升的类中

在这里插入图片描述
1.2 选择添加的类及头文件点击“提升”(此处我之前已经提升过,因此方框中已有相关选项,直接勾选对应选项选择提升即可)
在这里插入图片描述

1.3 提升后的效果在这里插入图片描述
2. 代码准备
2.1 .pro文件

#-------------------------------------------------
#
# Project created by QtCreator 2021-07-29T16:15:22
#
#-------------------------------------------------

QT       += core gui
QT       += charts

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = QtInterface
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

CONFIG += c++11

SOURCES += \
        main.cpp \
        mainwindow.cpp

HEADERS += \
        mainwindow.h

FORMS += \
        mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

2.2 .h文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <QtCharts>

QT_CHARTS_USE_NAMESPACE

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

2.3 .cpp文件

#include "mainwindow.h"
#include <QtCharts>

QT_CHARTS_USE_NAMESPACE
#include "ui_mainwindow.h"

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

    QChart* chart = new QChart();
    QLineSeries *series = new QLineSeries();

    for (quint32 i = 0; i < 100; i++) {
        series->append(i, sin(0.6f*i));

    }

    chart->addSeries(series);

    chart->createDefaultAxes();        // 基于已添加到图表的 series 来创建默认的坐标轴

    ui->widget->setChart(chart);

}

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

void MainWindow::on_pushButton_clicked()
{

}

2.4 main.cpp文件保持默认即可

3. 运行结果
在这里插入图片描述
参考博文链接:https://blog.csdn.net/qingzhuyuxian/article/details/98032943

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QChart入门教程-绘制正弦曲线 的相关文章

随机推荐

  • 让vue项目支持glsl语法

    如果你想让Vue项目支持GLSL OpenGL着色语言 语法 你需要使用特殊的加载器使Webpack能够加载和解析GLSL文件 这一般可以通过下面的步骤实现 Install webpack glsl loader npm install w
  • GNU Radio + NI USRP B210模拟物理层(一):安装UHD与GNU Radio

    GNU Radio NI USRP B210模拟物理层 一 安装UHD与GNU Radio GNU Radio NI USRP B210模拟物理层 一 GNU Radio的环境搭建 一 环境搭建 1 硬件环境与版本选择 2 UHD安装 3
  • MAVEN-Maven项目的依赖项爆红、无法下载依赖(Dependencies)或Jar包

    首先我的这份文章只是提高一种解决思路 我不能保证它一定正确 只是作为一种思路来为大家解决maven项目报错 我在学习SSM框架的时候 我的Maven项目中我引用的依赖项频繁报错 我在网上寻找解决方案 找到的是比较普遍性的错误 而我报的错误比
  • vuecli项目打包

    1 有几个问题 1 你知道软件的开发流程吗 答 需求获取 需求分析 设计 开发 测试 打包部署 上线 2 为什么要打包 答 前端的html css js越来越多 打开一个页面发送http也就变得很多 让后端服务器有很大压力 前端不利于性能优
  • 写代码思维1

    先要有思路 然后再开始写代码 刚开始可以先将思路写在文档上 比如流程图之类 然后再将其转化为代码 思路 翻译成代码 开关灯flag按钮思维 include
  • 力导向图知识图谱可视化(节点可点击)

    用d3 js的力导向图写了一个知识图谱可视化的demo 节点可点击着实费了我不少功夫 如果小伙伴有更简单的方法还求留言呢 由于数据市实验室的某项目 不太好直接贴出来 反正这样的格式就好 反正是给大家参考的 name name type 0
  • 时间序列完全教程(R)

    简介 在商业应用中 时间是最重要的因素 能够提升成功率 然而绝大多数公司很难跟上时间的脚步 但是随着技术的发展 出现了很多有效的方法 能够让我们预测未来 不要担心 本文并不会讨论时间机器 讨论的都是很实用的东西 本文将要讨论关于预测的方法
  • Mysql底层数据结构学习总结

    索引数据结构 Mysql数据表中的数据在磁盘中分布位置可能是不连续的 在读取数据时 每读取一条数据就进行一次磁盘IO效率是很低的 为了减少IO次数 索引就诞生了 通过索引 我们可以快速定位到数据位置 增加查询效率 索引是一种排好序的数据结构
  • 深度学习总结——用自己的数据集微调CLIP

    CLIP概述 CLIP Contrastive Language Image Pretraining 是由OpenAI开发的一种深度学习模型 用于将图像和自然语言文本进行联合编码 它采用了多模态学习的方法 使得模型能够理解图像和文本之间的语
  • lbs、agps流程

    AT指令流程 CTZV 19 1 8 8 59 6 23 CIEV service 1 CIEV roam 0 CREG 1 AT CGDCONT 1 IP cmnet AT CGDCONT 1 IP cmnet OK AT CGACT 1
  • RTC和RTMP

    RTC 直播发布流程 offer answer 模型 直播订阅流程 1 使用UDP私有协议来进行媒体拉流 2 适用高互动性的直播场景 如在线教育 电商直播 远程医疗 3 低延时 lt 300ms 和无卡顿 4 快速切换分辨率 无需写上 服务
  • 在多线程中使用tensorRT

    仅记录 转自https www coder work article 4985246 import pycuda autoinit Create CUDA context import pycuda driver as cuda Main
  • Ubuntu ssh连接access deny

    一 尝试了修改配置的方法 不能解决问题 1 修改ssh配置文件vim etc ssh sshd config 设置为允许root远程登录 2 找到PermitRootLogin prohibie password 修改为 PermitRoo
  • windows11 使用 wsl2 安装 archLinux

    windows11 使用 wsl2 安装 archLinux 下载 archLinux 下载 tar gz 文件 下载地址 https mirrors tuna tsinghua edu cn archlinux iso latest 启用
  • 编译ROCKSDB总结

    Rocksdb是挺好的一个东西 就是取得一个可用的库太麻烦 之前我是用的rocksdbsharp里面他有编译好windows 和 linux的库 兼 容性还挺好 ubuntu win10 直接跑没毛病 可惜他是去年build的了 我要用的c
  • C++ - 强引用和弱引用

    原来 我认为 为什么会有引用计数这样的技术 是为了内存自动回收和节省内存 但是读完下面的几节后 内存自动回收是一个原因 但是节省内存并不是真正的原因 真正的原因是有些对象如果被复制在现实中是不合事实的 为什么有引用计数 C 中存在两种语义
  • vite vue3 规范化与Git Hooks

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • 在Windows Server2016中安装SQL Server2016

    SQL Server2016安装硬 软件条件 点击打开链接 WinServer2016的安装参见 在虚拟机中安装Windows Server2016 1 SQL Server2016下载地址 1 SQL Server2016安装包 2016
  • SuperPunch - unity3D拳击小游戏项目源码

    SuperPunch是一个完整的项目 准备发布并且适合移动设备 它包含构建顶头拳击游戏的所有必要内容 特征 移动友好的纹理 分层的 包括 SVG 文件 包括 PNG文件 包括 C 脚本 包括文档 包括6架战斗机 包括战士动画 闲置 拳击 受
  • QChart入门教程-绘制正弦曲线

    1 创建界面 将widget作为容器进行绘图 并将widget提升为QChartView类 1 1 单击widget 右键中选择 提升 提升的类名称中填写 QChartView 会自动生成头文件名 选择 添加 将类和头文件添加进要提升的类中