• widget.h

     #ifndef WIDGET_H
    #define WIDGET_H #include <QWidget>
    #include <QPainter>
    #include <QPen>
    #include <QEvent> namespace Ui {
    class Widget;
    } class Widget : public QWidget
    {
    Q_OBJECT public:
    explicit Widget(QWidget *parent = );
    ~Widget();
    20 void paintEvent(QPaintEvent *e);
    21 QPainter *painter;

    private:
    Ui::Widget *ui;
    }; #endif // WIDGET_H
  • widget.cpp
     #include "widget.h"
    #include "ui_widget.h" Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
    {
    ui->setupUi(this);
    setGeometry(,,,);
    } Widget::~Widget()
    {
    delete ui;
    } void Widget::paintEvent(QPaintEvent *e)
    {
    painter = new QPainter;
    painter->begin(this);
    painter->setPen(QPen(Qt::blue,,Qt::DashDotLine)); //画刷
    painter->setBrush(QBrush(Qt::red,Qt::SolidPattern));
    //画矩形
    //painter->drawRect(20,20,180,180);
    //画椭圆
    //painter->drawEllipse(20,20,190,160);
    //画点
    //painter->drawPoint(100,100);
    //画曲线
    // painter->drawArc(20,20,210,160,500,1000); /*
    case Line: //直线
    p.drawLine(rect.topLeft(),rect.bottomRight()); break;
    case Rectangle: //长方形
    p.drawRect(rect); break;
    case RoundRect: //圆角方形
    p.drawRoundRect(rect); break;
    case Ellipse: //椭圆形
    p.drawEllipse(rect); break;
    case Polygon: //多边形
    p.drawPolygon(points,4); break;
    case Polyline: //多边线
    p.drawPolyline(points,4); break;
    case Points: //点
    p.drawPoints(points,4); break;
    case Arc: //弧
    p.drawArc(rect,startAngle,spanAngle); break;
    case Path: //路径
    p.drawPath(path); break;
    case Text: //文字
    p.drawText(rect,Qt::AlignCenter,tr("Hello Qt!")); break;
    case Pixmap: //图片
    p.drawPixmap(150,150,QPixmap("butterfly.png")); break;
    default: break; painter->drawLine(QPoint(30,30),QPoint(60,180));
    painter->drawText(this->rect(),Qt::AlignCenter,tr("Hello Qthello haihua!"));
    painter->drawPixmap(150,150,QPixmap("1.png"));
    */ //画线
    //painter->drawLine(QPoint(30,30),QPoint(60,180));
    //painter->drawText(this->rect(),Qt::AlignCenter,tr("Hello"));
    //画图
    painter->drawPixmap(,,QPixmap("1.png"));
    painter->end();
    }

32.QT绘图的更多相关文章

  1. Qt绘图

    Qt绘图的设置 QPainter::Antialiasing // 反锯齿 QPainter::TextAntialiasing // 文字反锯齿 QPainter::SmoothPixmapTran ...

  2. Qt绘图之QGraphicsScene QGraphicsView QGraphicsItem详解

    Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放.这个柜架也包 ...

  3. 简单的QT绘图程序(把全部的点都记录下来,然后在paintEvent里使用drawLine函数进行绘制,貌似效率很低。。。)

    当初在学MFC时,最经典的入门实例就是绘图程序,其作用相当于Console Application 下的Hello World了吧. 如今入手QT,不免怀旧,于是也写了一个绘图程序,虽然简单,却也是入 ...

  4. 界面编程之QT绘图和绘图设备20180728

    /*******************************************************************************************/ 一.绘图 整 ...

  5. Qt 绘图与动画系统

    Qt 提供了内置的绘图系统以及独立的QtOpenGL模块提供对OpenGL的支持.Qt提供了基于状态机的QPainter系统和面向对象的Graphics View系统. QPainter 基于状态机的 ...

  6. Qt——绘图

    1.涉及类 QPainter  QPaintEngine QPaintDevice 作为绘图的使用者,只需要关注 QPainter 和 QPaintDevice 2.QPainter 使用 QPain ...

  7. Qt 绘图(QBitmap,QPixmap,QImage,QPicture)

    QPainter绘图绘图设备(QPixmap,QImage,QBitmap,QPicture) 重写绘图事件,虚函数 如果窗口绘图,必须放在绘图事件里实现 绘图事件内部自动调用,窗口需要重绘的时候,状 ...

  8. Qt绘图学习(1)

    paintEvent()被调用的时机;1.当窗口第一次被show()的时候,Qt程序会自动产生一个绘图事件,调用绘图事件:2.重新调整窗口部件大小的时候,系统也会产生一个绘制事件.3.当窗口部件被其他 ...

  9. Qt绘图浅析与实例

    1. Qt5位置相关函数 Q提供了很多关于获取窗体位置及显示区域大小的函数,如x().y()和pos().rect().size().geometry()等,统称为"位置相关函数" ...

随机推荐

  1. android系统源码下载

    ubuntu 安装git curl python 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中: mkdir ~/bin PATH=~/bin:$PATH   下载 Repo 工具,并确 ...

  2. hdu3861 The King’s Problem 强连通缩点+DAG最小路径覆盖

    对多校赛的题目,我深感无力.题目看不懂,英语是能懂的,题目具体的要求以及需要怎么做没有头绪.样例怎么来的都不明白.好吧,看题解吧. http://www.cnblogs.com/kane0526/ar ...

  3. MongoDB 博客截图之二

    使用内置帮助help() 基本命令示例 来源:MongoDB基本管理命令 - 千与的专栏 - 博客频道 - CSDN.NET

  4. spring boot的项目名称问题

    spring boot直接执行main函数时是不需要加项目名称,但是可以在application配置文件中配置server.context-path=/*来配置项目名称: spring mvc的运行方 ...

  5. RabbitMQ学习之集群镜像模式配置

    1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载 ...

  6. RxSwift文档搜集与备份

    http://reactivex.io The Observer pattern done right ReactiveX is a combination of the best ideas fro ...

  7. JavaScript创建对象的几种 方式

    //JavaScript创建对象的七种方式 //https://xxxgitone.github.io/2017/06/10/JavaScript%E5%88%9B%E5%BB%BA%E5%AF%B9 ...

  8. 【数据分析学习】016-numpy数据结构

    通常对数据的矩阵进行操作,就用numpy操作,打开txt文件 使用help()去查询文档,可以看到官方的注释 import numpy path = r'F:\数据分析专用\数据分析与机器学习\wor ...

  9. Pyhton学习——Day3

    # li = [1,12,9,"age","alex"]# #列表表示为[]括起来# #列表用","分割每个元素# #列表中的元素可以是数字 ...

  10. 【Git教程】Git教程之分支管理

      在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理   当一个任务需要多人协作完成时,每个 ...