• 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. js两个页面之间URL传递参数中文乱码

  2. Linux下实现视频读取

    V4L(video4linux是一些视频系统,视频软件.音频软件的基础,经常时候在需要采集图像的场合,如视频监控,webcam,可视电话,经常使用在embedded linux中是linux嵌入式开发 ...

  3. 让.bashrc文件在终端自动生效

    修改了.bashrc文件,想在打开终端时默认路径变成桌面路径.代码如下 cd ~/desktop export PATH="/Users/nola/local:$PATH" 但是每 ...

  4. Android 解决toolbar标题不显示问题

    问题原因:toolbar的兼容性有问题 解决办法: setSupportActionBar(toolbar); toolbar使用步骤: 1.编写menu.xml 为了保持兼容需要这样写: andro ...

  5. Ext未定义问题解决

    做的项目用到EXT.NET,调试时候没问题,发布到IIS上出现EXT未定义,把项目的应用程序池改为Classic 模式就可以了.

  6. preparedStatement平台:

    public class cs{ public static void main(String[] args){ try{ class.forName("com.mysql.jdbc.Dri ...

  7. Flex元素布局规则总结,以及布局和容器

    一.Flex中的元素分类从功能层面可以把Flex中的元素分为组件(Components)和容器(Containers)两大类:组件 - 是指那类具有明确交互或数据展示功能的元素,例如Button.Ch ...

  8. nginx启动、关闭与重启命令

    nginx启动 1.启动nginx:./nginx  2.关闭nginx:./nginx  -s  stop 3.重启nginx:./nginx -s reload

  9. python 获取excel数据 自动登陆

    import xlrdimport timeimport unittestfrom selenium import webdriver class u8819(unittest.TestCase): ...

  10. Spring学习总结(19)——Spring概念详解

    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一 ...