1、首先需要下载相应的QChart库

一般在安装QT时会选择此库,如若没有,请自行下载。


2、在工程文件中添加:QT += charts

3、新建一个极坐标系的封装类PolarChart:


4、头文件:

(1)导入库

(2)添加:QT_CHARTS_USE_NAMESPACE

(3)实例相关类:


5、CPP文件:

(1)曲线设置

(2)角坐标系设置

(3)极坐标系设置

(4)极坐标系设置

(5)利用QChartView控件显示:


5、完整代码:

(1)h文件

   其中void AddPoint(double Angular, double Radia)是数据接口函数。

#ifndef POLARCHART_H
#define POLARCHART_H#include <QChart>
#include <QtCharts/QSplineSeries>
#include <QtCharts/QValueAxis>
#include <QtCharts/QPolarChart>
#include <QChartView>QT_CHARTS_USE_NAMESPACEclass PolarChart
{
public:PolarChart();//画布QChartView *chartView;//图表QtCharts::QPolarChart* chart;//曲线QtCharts::QLineSeries* lineSerises;//角度坐标轴QtCharts::QValueAxis* angularAxis;//弧长坐标轴QtCharts::QValueAxis *radialAxis;void AddPoint(double Angular, double Radia);//设置图表标题void setChartName(QString Name);//极坐标角度范围 默认0~360void setRangeAng(int A0, int A1);//极坐标弧长范围  默认0~200void setRangeRad(int R0, int R1);//视图显示大小  默认800*800void setResizeView(int wide, int heigh);//设置画点是否标记可见 默认不可见void setPointsVisible(bool ISVisible);};#endif // POLARCHART_H

(2)cpp文件

#include "polarchart.h"PolarChart::PolarChart()
{chart = new QtCharts::QPolarChart;chartView = new QChartView;lineSerises = new QtCharts::QLineSeries;angularAxis = new QtCharts::QValueAxis();radialAxis = new QtCharts::QValueAxis();lineSerises->setVisible(true);  //曲线可见lineSerises->setColor(QColor(0,100,255)); //曲线颜色设置lineSerises->setPointsVisible(false);  //曲线系列点标可见的设置chart->addSeries(lineSerises);  //加入表中//将legend(图例)隐藏,当然,也可以选择不隐藏chart->legend()->hide();chart->setVisible(true);chart->setBackgroundBrush(QColor(0,0,0));//角度坐标轴设置//第一个和最后一个间隔位于0/360度角angularAxis->setTickCount(9);angularAxis->setLabelFormat("%.1f");//设置角度坐标系的范围是0~360度angularAxis->setRange(0,360);//将角度坐标轴加入到图形中去chart->addAxis(angularAxis,QtCharts::QPolarChart::PolarOrientationAngular);//设置弧长的坐标系设置radialAxis->setTickCount(5);radialAxis->setLabelFormat("%d");radialAxis->setRange(0,200);//将弧长坐标系加入到图形中去chart->addAxis(radialAxis,QtCharts::QPolarChart::PolarOrientationRadial);//将曲线和坐标轴绑定起来lineSerises->attachAxis(angularAxis);lineSerises->attachAxis(radialAxis);chartView->setChart(chart);chartView->resize(800, 800);chartView->show();}void PolarChart::AddPoint(double Angular, double Radia)
{//向曲线容器lineSerises中添加数据lineSerises->append(Angular,Radia);
}void PolarChart::setChartName(QString Name)
{chart->setTitleBrush(QBrush(QColor(0,0,255)));//设置标题Brushchart->setTitleFont(QFont("微软雅黑"));//设置标题字体chart->setTitle(Name);
}void PolarChart::setRangeAng(int A0, int A1)
{angularAxis->setRange(A0,A1);
}void PolarChart::setRangeRad(int R0, int R1)
{radialAxis->setRange(R0,R1);
}void PolarChart::setResizeView(int wide, int heigh)
{chartView->resize(wide, heigh);
}void PolarChart::setPointsVisible(bool ISVisible)
{lineSerises->setPointsVisible(ISVisible);
}

QT基于QPolarChart封装一个极坐标系类(控件显示)相关推荐

  1. Qt使用C++封装qml自定义图形控件(QQuickPaintedItem)

    C++封装qml自定义图形控件 QtWidget.qml简介 通过继承QQuickPaintedItem封装控件 描述 公用接口定义 代码示例 效果图 QtWidget.qml简介 Qt提供了2套UI ...

  2. 基于 element-plus 封装一个依赖 json 动态渲染的查询控件

    前情回顾 优惠券网站 m.cps3.cn 基于 el-form 封装一个依赖 json 动态渲染的表单控件 Vue3 封装第三方组件(一)做一个合格的传声筒 功能 使用 vue3 + element- ...

  3. pyqt控件显示重叠_Python编程:一个不错的基于PyQt的Led控件显示库,建议收藏学习...

    1.控件说明 在Github上,偶然发现了一个基于PyQt5的第三方Led指示灯控件库,使用起来非常方便,控件外观也比较漂亮,更难能可贵的是作者源代码写得比较简洁,仅仅才约200行左右,可以作为一个在 ...

  4. python rgb led控件_Python编程:一个不错的基于PyQt的Led控件显示库,建议收藏学习...

    1.控件说明 在Github上,偶然发现了一个基于PyQt5的第三方Led指示灯控件库,使用起来非常方便,控件外观也比较漂亮,更难能可贵的是作者源代码写得比较简洁,仅仅才约200行左右,可以作为一个在 ...

  5. php面向对象分页,PHP基于面向对象封装的分页类示例

    本文实例讲述了php基于面向对象封装的分页类.分享给大家供大家参考,具体如下: class page { protected $num;//每页显示条数 protected $total;//总记录数 ...

  6. 1.使用C++封装一个链表类LinkList

     使用C++封装一个链表类LinkList.写出相应一个测试用例 链表需要提供 添加 修改删除 除重 合并 排序创建 销毁等接口. 不能调用库函数或者使用STL等类库 题目延伸********** ...

  7. java订单类_基于Java创建一个订单类代码实例

    这篇文章主要介绍了基于Java创建一个订单类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需求描述 定义一个类,描述订单信息 订单id 订 ...

  8. 封装一个学生类Student(使用类与对象的方法)

    5.封装一个学生类Student,(自行分辨定义为类属性还是实例属性,方法定义为实例方法) - 属性:身份(学生),姓名,年龄,性别,英语成绩,数学成绩,语文成绩, - 方法一:计算总分,方法二:计算 ...

  9. 日历---C++封装一个Date类,Calendar类,实现简单的日历+日期计算器程序

    C++封装一个Date类,实现简单的日历程序 程序代码如下: Date.h #include<iostream> using namespace std;class Date {publi ...

最新文章

  1. ubuntu16.04系统下安装fasttext文本分类库
  2. 中国高校最强超算!上算引力波,下算光量子
  3. 5G NGC — AMF 接入和移动性管理功能
  4. golang中的strings.Trim
  5. H3C 2126 限速后的问题
  6. return两个返回值_LeetCode 第四题 寻找两个有序数组的中位数
  7. 剑指 Offer 37. 序列化二叉树
  8. python Box-Cox数据变化与逆变化
  9. Python3系列__01Python安装
  10. 手机网站按住放大图片_这6个鲜为人知的黑科技网站,我可以玩一天
  11. lxterminal命令打开新窗口并执行python脚本
  12. 中国农村统计年鉴合集(1985-2019年)
  13. snmptrap发送消息到服务器,我试图通过snmptrap发送snmp消息
  14. 石文软件测试,石文软件基本操作
  15. 软件工程师具体的工作内容是什么?
  16. 小技巧:办公邮箱怎么登录foxmail?outlook如何群发单显?
  17. 计算机网络和现场总线的区别,现场总线系统的特点和组成
  18. 2017年的Microsoft Imagine Cup提供的免费Azure申请及使用方法
  19. python遇到错误跳过_python 如何跳过异常继续执行
  20. coap 返回版本信息_CoAP协议学习笔记

热门文章

  1. 用Python实现冰雹猜想(3n+1猜想,角谷猜想,叙古拉猜想)的黑洞演示
  2. Unity中的重载和重写
  3. 计算机编码方式详解(Unicode、UTF-8、UTF-16、ASCII)
  4. catboost案例
  5. uniapp 公众号打开小程序,app打开小程序,小程序打开其他小程序
  6. 自动开料机器人_木工机器人自动化加工生产线
  7. 制作Ubuntu的U盘启动盘
  8. 30天干掉tensorflow2.0-day01
  9. [置顶] gis海量资源网盘提供VIP账号无广告高速下载 (更新更多资源)
  10. 【深度观察】小米、京东做了一年智能硬件后,阿里终于醒悟了