• 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. 了解jQuery的$符号

    $是什么? 可以使用typeof关键字来观察$的本质. console.log(type of $); //输出结果为function 因此可以得出结论,$其实就是一个函数.$(); 只是根据所给参数 ...

  2. 软件开发的MVC构架

    MVC:IDE开发环境开发时,无意中使用的软件结构. 转自于wikipedia:http://zh.wikipedia.org/wiki/MVC 软件的层次划分:框架--组件(设计模式)--算法与数据 ...

  3. 关于 Windows 10 如何扩展分区与合并分区

    前言 相信大部分人都遇见磁盘不够用的问题吧,然后都在后悔当初为什么就给 x 盘分了 10G 的容量吧. 不过没关系,自从 Windows 7 开始( xp 我也不知道有毛有),Windows 自带的磁 ...

  4. poj 2955 Brackets 【 区间dp 】

    话说这题自己折腾好久还是没有推出转移的公式来啊------------------ 只想出了dp[i][j]表示i到j的最大括号匹配的数目--ค(TㅅT)------------------- 后来搜 ...

  5. Dynamics 365 CRM 部署 Connected Field Service

    微软 Connected Field Service 是一个提供Azure IoT 和 Dynamics 365 连接的这样一个框架 有两种方式部署CFS, 一种是用IoT Hub PaaS, 一种是 ...

  6. Kattis - Game Rank

    Game Rank Picture by Gonkasth on DeviantArt, cc by-nd The gaming company Sandstorm is developing an ...

  7. python tips: is同一性运算符

    is用来判断两个对象是不是同一个对象,通过id()函数取对象地址进行判断.python会缓存一些小的整数,以及只包含字母数字以及下划线的字符串.所以在对于这些值的时候,is判断为True. >& ...

  8. Win7系统无法记住网络访问的凭据怎么办?

    访问内网其他IP时已经打勾记住我的凭据了,但是注销或者重启Win7系统之后,又得重新输入用户名跟密码怎么办? 下面就为大家介绍一下如何让Win7系统记住网络访问的凭据. 以上问题还会引发,重启后无法正 ...

  9. luogu 3467 [POI2008]PLA-Postering 单调栈

    题目描述: Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的 ...

  10. Python笔记13------pandas作图

    1.pandas可以用来画DataFrame和Series的图 如: import numpy as npimport matplotlib.pyplot as pltimport pandas as ...