QTchart

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QMainWindow>

#include <QtCharts>

using namespace QtCharts;

QT_BEGIN_NAMESPACE

namespace Ui { class MainWindow; }

QT_END_NAMESPACE

class MainWindow : public QMainWindow

{

Q_OBJECT

public:

MainWindow(QWidget *parent = nullptr);

~MainWindow();

private:

Ui::MainWindow *ui;

private:

QChartView *chartview;

QChart *chart;

void CreateChartFunction();

};

#endif // MAINWINDOW_H


#include "mainwindow.h"

#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)

: QMainWindow(parent)

, ui(new Ui::MainWindow)

{

ui->setupUi(this);

setWindowTitle("chart");

CreateChartFunction();

}

MainWindow::~MainWindow()

{

delete ui;

}

void MainWindow::CreateChartFunction()

{

chartview = new QChartView(this);

chart = new QChart();

chart->setTitle("sin and cos chart test");

chartview->setChart(chart);

this->setCentralWidget(chartview);

QLineSeries *series1=new QLineSeries();

QLineSeries *series2=new QLineSeries();

series1->setName("sin curve");

series2->setName("cos curve");

chart->addSeries(series1);

chart->addSeries(series2);

qreal t=0,y1,y2,intv=0.1;

int icount=100;

for(int i=0;i<icount;i++)

{

y1=qSin(t);

series1->append(t,y1);

y2=qCos(t);

series2->append(t,y2);

t=t+intv;

}

QValueAxis *axisX=new QValueAxis;

axisX->setRange(0,10);

axisX->setTitleText("time(seconds)");

QValueAxis *axisY=new QValueAxis;

axisY->setRange(-2,2);

axisY->setTitleText("values");

chart->setAxisX(axisX,series1);

chart->setAxisY(axisY,series1);

chart->setAxisX(axisX,series2);

chart->setAxisY(axisY,series2);

}

相关推荐
MeowKnight9581 天前
【Qt】Qt实践记录2——TCP通信服务器和客户端demo
笔记·qt
Larry_Yanan1 天前
QML学习笔记(五十二)QML与C++交互:数据转换——时间和日期
开发语言·c++·笔记·qt·学习·ui·交互
十启树1 天前
Qt 中实现炫酷的开机启动动画
qt
一叶之秋14122 天前
QT背景介绍与环境搭建
开发语言·qt
QT 小鲜肉2 天前
【QT/C++】Qt网络编程进阶:UDP通信和HTTP请求的基本原理和实际应用(超详细)
c语言·网络·c++·笔记·qt·http·udp
四维碎片2 天前
【Qt】大数据量表格刷新优化--只刷新可见区域
开发语言·qt
一叶之秋14122 天前
Qt开发初识
开发语言·qt
梵尔纳多2 天前
ffmpeg 使用滤镜实现播放倍速
c++·qt·ffmpeg
QT 小鲜肉3 天前
【QT/C++】Qt网络编程进阶:TCP网络编程的基本原理和实际应用(超详细)
c语言·开发语言·网络·c++·qt·学习·tcp/ip
Tony小周3 天前
使用QKeyEvent keyPress(QEvent::KeyPress, key模拟键盘发送事件,会导致主程序卡死
嵌入式硬件·qt