• 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. Java 系列之spring学习--注解(三)

    一.注解 使用注解之前要开启自动扫描功能 <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...

  2. classname在JavaScript中的应用

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...

  3. XML 之 命名空间详解

    最近学xml 遇到了点小问题qaq 找了n多的博客大佬,反复看了半小时终于明白了,可能我太蠢了... 基础的知识就不赘述,直接放“栗子”,切重点: <?xml version="1.0 ...

  4. MemCached总结三:PHP的memcached管理接口

    在Web系统中应用MemCached缓存技术,必须使用客户端API(PHP)进行访问,这样才能将用户请求的动态数据,缓存到memcached服务器中,来减少对数据库的访问压力.PHP中提供了用于内存缓 ...

  5. DevExpress 如何读取当前目录下文件,加载至grid

    DBFileName=DevExpress.Utils.FileHelper.FindingFileName(Appliaction.StartupPath,"Data\\Product&g ...

  6. CSS3 动画 思维导图

    思维导图在新窗口打开浏览

  7. Shiro从数据表中初始化资源和权限

    之前在测试的Web工程下,我们在applicationContext.xml中配置了shiroFilter资源拦截器信息: <bean id="shiroFilter" cl ...

  8. Angular 通过constant(name,value),value(name,value)创建服务

    区别: constant()可以将已经存在的变量值注册为服务,并将其注入到应用的其他部分中,他的value可以是值,也可以是对象.通过他来配置数据,也就是说可以在config里注入,但是他是不可以修改 ...

  9. C# dataGridView1 添加数据 和清空数据

    #region MyRegion DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn(); DataGridViewTextBo ...

  10. VS Code中编写html(4) 标签的宽高颜色背景设置

    1  <!+Tab键--> <!--有两个div标签时,分别设置style,有两种方法--> <div id="div1">第一个div标签:& ...