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. /etc/default/useradd文件内容及对应功能

    1.GROUP=100 #依赖于/etc/login.defs的USE RGRUUPS_ENAB参数,如果为no,则在此处控制 2.HOME=/home #把用户的家路径健在/home中 3.INAC ...

  2. Cocos2d切换场景出现的问题-error C2653: “***”不是类或命名空间名称

    1,在开头引入头文件 2,在要引入的头文件中,去除以下代码: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #endif ...

  3. sso 登录业务逻辑

  4. 0111mysql如何选择Join的顺序

    本文通过一个案例来看看MySQL优化器如何选择索引和JOIN顺序.表结构和数据准备参考本文最后部分"测试环境".这里主要介绍MySQL优化器的主要执行流程,而不是介绍一个优化器的各 ...

  5. powershell远程访问

    在服务器上打开powershell 1.winrm quickconfig 2.Enable-PSRemoting -Force 在客户端上打开powershell 1.Enter-PSSession ...

  6. 【C++】通用单链表

    在C++的学习中,採用模板类,而採用虚函数实现多态性.达到通用的目的.结点类数据域被改造为指针,而把数据放在一个抽象类中.由指针与之建立联系. 採用虚函数实现多态性,达到通用的目的.堆内存的分配与释放 ...

  7. AOP经典2种配置演示样例

    第一种: 使用aop指定切面aspect. <bean id="LogAdvice" class="com.thinkmore.framework.monitor. ...

  8. 使用Dropzone上传图片及回显演示样例

    一.图片上传所涉及到的问题 1.HTML页面中引入这么一段代码 <div class="row"> <div class="col-md-12" ...

  9. string转utf8后解决TTS识别中文的问题

    今天遇到string字符编码的问题,由于遇到了用TTS将文本转语音的一个API,里面的中文必须是utf8的,我传了一个uncode编码的中文进去,就一直不能正常读出来.后来才发现是编码的问题.这里在网 ...

  10. 精简Linux文件路径

    精简Linux的文件路径: ..回退的功能 .留在当前文件夹 //仅仅保留一个/ abc/..要返回. 报错 删除最后一个/ 主要思路: 用栈记录路径的起始位置,讨论/后的不同情况就可以: #incl ...