qt painter多个点的曲线

plot.h

p,li { white-space: pre-wrap }

#ifndef PLOT_H
#define PLOT_H
#include<QTimer>
#include <QWidget>

class pathplot : public QWidget
{
  Q_OBJECT
public:
  explicit pathplot(QWidget *parent = nullptr);
  void paintEvent(QPaintEvent *event);

};

#endif // PLOT_H

plot.cpp

# include"circlewidget.h"
#include<QPainter>
#include<QDebug>
#include<math.h>

plot::CircleWidget(QWidget *parent):QFrame(parent)
{
        m_period = 20;  //周期
        m_grain = 1;    //粒度
        m_radius = 10; // 振幅
}
plot::~CircleWidget()
{

}

p,li { white-space: pre-wrap }

void pathplot::paintEvent(QPaintEvent *event) {

p,li { white-space: pre-wrap }


QPainter painter(this);

QPointF pointf[10];
    pen.setWidth(6);
    painter.setPen(pen); // 设置画笔
    for (int i=0; i<10; ++i)
    {
        pointf[i].setX(2.0+i*10.0);
        pointf[i].setY(130.0);
    }

painter.drawPoints(pointf, 10);

}

原文地址:https://www.cnblogs.com/fuhang/p/9909280.html

时间: 2024-11-25 14:17:17

qt painter多个点的曲线的相关文章

【Qt编程】基于QWT的曲线绘制及图例显示操作

在<QWT在QtCreator中的安装与使用>一文中,我们完成了QWT的安装,这篇文章我们讲讲基础曲线的绘制功能. 首先,我们新建一个Qt应用程序,然后一路默认即可.这时,你会发现总共有:mainwindow.h,mainwindow.cpp,main.cpp,mainwindow.ui四个文件. 然后,选中项目,添加新文件,添加一个c++类,我们假设命名为PlotLines,基类选择QwtPlot,选择继承自QWidget. 接着,在pro文件中添加 INCLUDEPATH +=D:\Qt\

Qt Painter放大时,event处理应该注意的要点

比如当你Qt中用QPainter进行window和viewport,逻辑和物理坐标分离的形式进行绘图放大的时候,你会发现鼠标的移动和放大之后的图像有点不跟手,比如你是用QTransform进行放大变换,其实这个时候有个小窍门可以比较方便的解决这个 问题就是用反向的QTransform,比如前者进行viewport放大代码是这样QTransform trans = QTransform(zoom, 0, 0, 0, zoom, 0, 0, 0, 1)用来装饰放大物理坐标,那在处理event的时候就

Qt 简易画板

用Qt框架搭建一个简易画板 需求 绘制线.椭圆.矩形框.任意凹/凸多边形.曲线 删除最近的图形实例 思路 用list保存绘制的图形实例,便于删除 对于line.rectangle.ellipse 只要保存初始位置和结束位置 对于任意凸/凹多边形可以用一个list保存点集 利用Graphics View 管理图形对象 Graphics View 是M-V框架,model指的是各种图形对象,view指的是视角 使用过程是:创建一个scene,创建line和rectangle等图形实例,再使用scen

QT的Paint 系统

下面对于QT的绘制系统做一个简要说明, 这个系统主要由三部分组成,  QPainter, QPaintDevice, QPaintEngine. QPainter 是一个绘制接口类,提供绘制各种面向用户的命令,而QPaintDevice 是一个QPainter绘制的目的地,相当于画布,   而QPaintEngine 是基本绘制命令的具体实现. 我们打交道比较多的是 QPainter , 注意对于Windows平台来说,当绘制目标是一个widget的时候,QPainter只能在 paintEve

little tips of painter.drawRect in Qt

一个QImage或QPixmap新建变量时,第一次填充图片时设置的宽高正常(fill),其后的绘制操作(draw)则会在绘制的矩形底边和右边加上painter.pen().width() 在下面代码17行设置端点查看内存可以直观看到只在右边和底边++ 1 // 1. 生成掩码图 2 const int width = 32; 3 const int height = 20; 4 QImage maskImg(width, height, QImage::Format_Mono); 5 QPain

研二寒假---关于Qt&amp;CV曲线算法问题

目录 1.单曲线输入和绘图 1.单曲线输入和绘图 1 #include "cv_plot.h" 2 #include "ui_cv_plot.h" 3 #include <QFileDialog> //for getOpenFileName() 4 #include <QDebug> 5 6 CV_Plot::CV_Plot(QWidget *parent) : 7 QWidget(parent), 8 ui(new Ui::CV_Plot)

Qt绘制动态曲线

首先*.pro文件中加一句 QT += charts 然后 mainwindow.cpp文件如下: #include "mainwindow.h" #include "ui_mainwindow.h" #include "QtCharts/QChart" #include "QLineSeries" #include "QValueAxis" #include "QTimer" #inc

QT编写的数据转曲线工具

今天公司安排个任务,要求将控制器上生成的16进制数据文本文件,导入到软件用图形显示,自动分布X轴Y轴坐标,同时还要求可以鼠标拖动及缩放,首先想到就是用qcustomplot,最近刚好将qcustomplot都看了遍,所以基本上没有什么难度,唯一的要求就是文本文件中的数据是16进制的数据,用空格隔开,每两个16进制数据转换为一个short数据,同时还有负数,一开始用strHex.toShort(&ok, 16);发现始终取不出负数,应该用strHex.toUShort(&ok, 16);真是

QT使用painter绘制文字时的居中显示

在窗体上绘制文字时,在paintEvent()方法里用QPainter进行绘制. 主要获取对字符串打印在屏幕上时占用的像素大小 QPainter p(this); QFont font("宋体",13,75); p.setFont(font); QString title("标题"); int widthOfTitle = p.fontMetrics().width(title);//字符串显示的像素大小 p.drawText(this->width()/2-