MyImgTest.h:

#ifndef MYIMGTEST_H
#define MYIMGTEST_H

#include
<QWidget>

class
MyImgTest : public QWidget
{
//Q_OBJECT
public:
MyImgTest(QWidget*
parent = 0);
~MyImgTest();
void paintEvent(QPaintEvent *);
};

#endif

MyImgTest.cpp:

#include
"MyImgTest.h"
#include <QPainter>
//#include
<QRect>
//#include <QPointF>
//#include <QLineF>

MyImgTest::MyImgTest(QWidget*
parent) : QWidget(parent)
{
setFixedSize(360,360);
//固定大小
setWindowTitle("Hello
DevDiv!");
}

MyImgTest::~MyImgTest()
{

}

void
MyImgTest::paintEvent(QPaintEvent *)
{
// 画一条直线
QPainter
painter(this); // 创建QPainter一个对象
QPen
pen;

//pen.setStyle(Qt::DashLine);
pen.setColor(Qt::red);
// 设置画笔为黄色
painter.setPen(pen);
// 设置画笔
painter.drawLine(rect().topLeft(),
rect().bottomRight());

//
画一个空心矩形
pen.setColor(Qt::darkRed);
painter.setPen(pen);
painter.drawRect(1,
1, 100, 100); //painter.drawRect(QRect(1, 1, 100, 100));

//
画一个实心矩形
QBrush
bruch(Qt::FDiagPattern); // 画刷
painter.setBrush(bruch);
// 设置画刷
painter.drawRect(QRect(105,
1, 100, 100));

//
画一个多点线
pen.setColor(Qt::black);
painter.setPen(pen);
bruch.setStyle(Qt::NoBrush);
// 将画刷设置成null//fow
what
painter.setBrush(bruch);
static const QPointF points[4] =
{QPointF(210.0, 1), QPointF(220.0, 50.3), QPointF(300, 100.4),
QPointF(260.4, 120.0)};
painter.drawPolyline(points, 4);

//
画多个点
QPointF
pointf[10];
for (int i=0; i<10;
++i)
{
pointf[i].setX(2.0+i*10.0);
pointf[i].setY(130.0);
}
painter.drawPoints(pointf,
10);

// 画多条线
QLineF
linef[5];
for (int j=0; j<5;
++j)
{
linef[j].setP1(QPointF(110.9+j*10,
120.0));
linef[j].setP2(QPointF(120.8+j*12,
200.0));
}
painter.drawLines(linef, 5);

//
画一个多边形
QPolygonF
polygon;
polygon << QPointF(200.0, 120.0) <<
QPointF(230.0, 130.0) << QPointF(260.0, 180.0) <<
QPointF(200.0,
200.0);
bruch.setStyle(Qt::CrossPattern);
painter.setBrush(bruch);
painter.drawPolygon(polygon,
Qt::WindingFill);

// 画一个圆角矩形
QRectF
rectangle(290.0, 110.0, 50,
50);
bruch.setStyle(Qt::SolidPattern);
painter.setBrush(bruch);
painter.drawRoundedRect(rectangle,
20.0, 15.0);

// 画一个QString
painter.drawText(50,
300, "Hello DevDiv!");

}
main.cpp:

#include
<QApplication>
#include "MyImgTest.h"
int
main(int argc,char *argv[])
{
QApplication
app(argc,argv);
MyImgTest* widget = new
MyImgTest();
widget->show();
return app.exec();
}
操作步骤:

1.qmake-qt4
-project

2.qmake-qt4

QT_圆_直线_三角t的更多相关文章

  1. 算法基础_递归_求杨辉三角第m行第n个数字

    问题描述: 算法基础_递归_求杨辉三角第m行第n个数字(m,n都从0开始) 解题源代码(这里打印出的是杨辉三角某一层的所有数字,没用大数,所以有上限,这里只写基本逻辑,要符合题意的话,把循环去掉就好) ...

  2. Oracle学习总结_day03_day04_条件查询_排序_函数_子查询

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...

  3. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  4. 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好

    HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...

  5. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  6. 3.IP地址分类_规划_子网掩码

    IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...

  7. 宏定义中的##操作符和... and _ _VA_ARGS_ _

    1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used i ...

  8. 宏 #,##,_ _VA_ARGS_ _

    宏里面使用: 一.#  转为字符串 #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) ...

  9. OpenGL立方体在世界坐标系中_缩放_旋转_平移_顶点片源着色器_光照作用_棋盘纹理贴图

    读取bmp等图片格式中的像素还有难度,就先用这个棋盘图象素来弄了 代码打错一个就一直First-chance exception ,貌似还有一个要用q或者Q才能成功退出,不知道缺少哪句,我用窗口红叉退 ...

随机推荐

  1. 利用Tensorflow训练自定义数据

    很多正在入门或刚入门TensorFlow机器学习的同学希望能够通过自己指定图片源对模型进行训练,然后识别和分类自己指定的图片.但是,在TensorFlow官方入门教程中,并无明确给出如何把自定义数据输 ...

  2. SQL-Oracle-创建表空间,用户,授权

    --创建表空间 create tablespace imark datafile 'E:\oracle\product\10.2.0\oradata\orcl\imark.dbf' size 500M ...

  3. 根据BDUSS获取用户ID信息

    代码在 /data/svndir/business/workroot2/app/ecom/ubec/getuser

  4. socketpair和pipe的区别

    http://blog.csdn.net/bingqingsuimeng/article/details/9055499 管道pipe是半双工的,pipe两次才能实现全双工,使得代码复杂.socket ...

  5. 17 facade

    客户不须要内部的实现,仅仅须要知道有这个功能就好了,(最少知识原则)

  6. Flex AsDoc 完整版

    Flex 生成AsDoc用的是SDK自带的asdoc.exe工具 生成AsDoc文档的方式有两种:ant或者FlashBuilder 外部配置工具 方法一:外部配置工具 新增一个外部配置工具.过程例如 ...

  7. 又一次发现Oracle太美之glogin.sql

    又一次发现Oracle太美之glogin.sql 刚開始接触Oracle的时候,有时候一登陆一个生产环境.常常会出现以下的情况: [oracle@rh64 app]$ sqlplus / as sys ...

  8. windows 下载安装github

    参考链接:http://download.csdn.net/download/devsplash/9683971

  9. 0x04 二分

    二分.三分其实没什么.. 但是真心觉得市面上的朴素二分打法千奇百怪,假如是像我的标程应该是比较稳妥的,然而poj2018那题(前缀和又想起来了)是向下取整,精度有点问题(经常拍出一些什么xxx.999 ...

  10. DB-MySQL:MySQL 复制表

    ylbtech-DB-MySQL:MySQL  复制表 1.返回顶部 1. MySQL 复制表 如果我们需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TA ...