• 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();
    }

最新文章

  1. shell及脚本1——变量
  2. 时间戳转化为日期TimeStamp转NSDate转NSString
  3. MongoDB学习:(二)MongoDB简单使用
  4. 茎叶图(stem)
  5. require.js基本认识
  6. 每天一个 Linux 命令(6):rmdir 命令
  7. BZOJ-1067 降雨量 线段树+分类讨论
  8. java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
  9. DTD - Elements
  10. HTML5 程序设计笔记(一)
  11. Netflix公司监控内部安全的开源项目
  12. Socket编程实践(12) --UDP编程基础
  13. nuxt框架Universal和Spa两种render mode的区别
  14. linux环境中,如何解压后缀是bz2的压缩包?tar.bz2格式的压缩包,如何进行解压?
  15. IAR中的 identifier &quot;FILE&quot; is undefined 问题
  16. U8800 手机恢复出厂设置出现轻触Android开始页面 处理办法
  17. Win10系列:WinJS库控件
  18. ASP.NET获取服务器信息大全
  19. bzoj 4328 始祖鸟
  20. 【TP3.2】详解_initialize() 和 __construct() 的区别和联系

热门文章

  1. [lua]异步串行流程*协程
  2. html中常见的小问题(1)
  3. [C]关于交换
  4. Android适配文件dimen自动生成代码
  5. DIV+CSS左右两列自适应高度的方法
  6. 软件神器系列——photozoom图片像无损清晰放大软件砸金蛋活动开始啦!
  7. vc++绘图,颜色
  8. 反射API提供的常用类和函数
  9. 【深入理解Java虚拟机】自动内存管理机制——内存区域划分
  10. gradle多模块构建集成swagger