VS2019+QT5.12.2+提升QGraphicsView+绘制曲线

第一步:打开VS2019创建QT  widgets  application 

,填入程序名字:JiaoCheng_QuXian

 

 

***

 

第二步:操作一个widget

A:打开jiaocheng_quxian.ui 文件,添加一个graphicsView

(重点说明,之前网络上的教程,都是拉一个widget. 可是啊,但是啊,这个玩意已经没有setChart这个成员函数了,所以就不能再拉这个控件了, 我搜索了相关的资料,选了graphicsView)

 

 B:提升 graphicsView为:QGszChartView

 

 C:点击 ---》添加--》 然后提升

 D,在QT设计师里面 点击保存,然后关闭QT设计师

E:编译

 

第三步:处理报错,就是添加 类QGszChartView的头文件 和源文件

A:基类是 public QGraphicsView.主要头文件和源文件名字都是小写的.

B:修改大小写

 

 C:效果如下

D: QGraphicsView 这个东西在qgszchartview.h 无法识别,需要添加头文件

//我是:qgszchartview.h
#pragma once
#include <QGraphicsView>//添加这个头文件
class QGszChartView :public QGraphicsView
{
};

 E:添加QGszChartView的构造函数

//我是:qgszchartview.h
#pragma once
#include <QGraphicsView>//添加这个头文件
class QGszChartView :public QGraphicsView
{
public:
	QGszChartView(QWidget* parent = 0);
};

HF:在CPP文件里面实现这个构造函数。(qgszchartview.cpp)

//我是(qgszchartview.cpp)
#include "qgszchartview.h"
QGszChartView::QGszChartView(QWidget* parent)//构造函数
{
	 
}

G:编译后一下。

 H:在构造函数里面添加的东西,确保程序是正常运行的,后续可以删掉。

//我是(qgszchartview.cpp)
#include "qgszchartview.h"
#include <QMessageBox>
QGszChartView::QGszChartView(QWidget* parent)//构造函数
{
	QMessageBox::warning(0, "test", "test");
}

I:再次编译。然后运行

 (至此终于结束了这个提升)

 *********************************************

第三步:添加 组件:QChats.

第四步:

A:在jiaocheng_quxian.h 里面添加代码

原本是

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_jiaocheng_quxian.h"

class JiaoCheng_QuXian : public QMainWindow
{
    Q_OBJECT

public:
    JiaoCheng_QuXian(QWidget *parent = Q_NULLPTR);

private:
    Ui::JiaoCheng_QuXianClass ui;
};

 添加后

//我是jiaocheng_quxian.h
#pragma once

#include <QtWidgets/QMainWindow>


#include <QSplineSeries>
#include <QChart>
using namespace QtCharts;



#include "ui_jiaocheng_quxian.h"

class JiaoCheng_QuXian : public QMainWindow
{
    Q_OBJECT

public:
    JiaoCheng_QuXian(QWidget *parent = Q_NULLPTR);

private:
    Ui::JiaoCheng_QuXianClass ui;
};

B:在jiaocheng_quxian.cpp里面添加 曲线代码,就是构建的具体的曲线样子

//我是jiaocheng_quxian.cpp
#include "jiaocheng_quxian.h"

JiaoCheng_QuXian::JiaoCheng_QuXian(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    QSplineSeries* series = new QSplineSeries();
    for (float i = 0; i < 100; i++)
    {
        series->append(i, sin(0.5 * i));
    }
    QChart* chart = new QChart();
    chart->addSeries(series);
    chart->legend()->hide();
    chart->createDefaultAxes();
    chart->setTheme(QChart::ChartThemeDark);

    ui.graphicsView->setChart(chart);//老问题,还是找不到setChart 这个成员函数

}

(待续)

这说明

class QGszChartView :public QGraphicsView

是错误的

就说我们添加的组件,不可以集成自QGraphicsView

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值