# -*- coding: utf-8 -*-

# python:2.x

__author__ = 'Administrator'

#画刷和画笔:QBrush 定义了 QPainter 的填充模式,具有样式、颜色、渐变以及纹理等属性。

# 画刷的 style()定义了填充的样式,使用 Qt::BrushStyle 枚举,默认值是 Qt::NoBrush,也就是不进行任何填充。

#画刷的 color()定义了填充模式的颜色。这个颜色可以是  Qt  预定义的颜色常量,也就是

# Qt::GlobalColor,也可以是任意 QColor 对象。画刷的 gradient()定义了渐变填充。这个属性只有在样式是 Qt::LinearGradientPattern、

# Qt::RadialGradientPattern 或者 Qt:: ConicalGradientPattern 之一时才有效。渐变可以由

# QGradient 对象表示。Qt  提供了三种渐变:QLinearGradient、QConicalGradient 和

# QRadialGradient,它们都是 QGradient 的子类。我们可以使用如下代码片段来定义一个

# 渐变的画刷

#学习地址:http://blog.csdn.net/lpp0900320123/article/details/25246873

from PyQt4.QtGui import  *

from PyQt4.Qt import *

from PyQt4 import QtGui, QtCore

from PyQt4.QtCore import *

import sys

class Painterd(QWidget):

def __init__(self):

super(Painterd,self).__init__()

self.resize(200,100)

self.setWindowTitle('paint')

#画笔

def paintEvent(self, e):

paint=QPainter(self)

paint.drawLine(0,0,100,100)#直线

pen=QPen(Qt.green,5,Qt.DashDotLine,Qt.FlatCap,Qt.RoundJoin)

paint.setPen(pen)#使用画笔

rectanglen=QRectF(70.,40.,80.,60.)

start1=30*16

start2=120*16

#绘制圆弧

paint.drawArc(rectanglen,start1,start2)

#重新定义画笔

pen.setWidth(2)

pen.setStyle(Qt.SolidLine)

paint.setPen(pen)

paint.drawRect(50,50,20,100)

class Painterd1(QWidget):

def __init__(self):

super(Painterd1,self).__init__()

self.resize(200,100)

self.setWindowTitle('paint')

#使用画刷

def paintEvent(self, QPaintEvent):

paint=QPainter(self)

brush=QBrush(QColor(0,0,255),Qt.Dense4Pattern)#创建笔刷

paint.setBrush(brush)#使用笔刷

paint.drawEllipse(22,20,50,50)#椭圆

#设置纹理

brush.setTexture(QPixmap(r'i/a.png'))

#使用四个点绘制多边形

paint.drawPolygon(QPoint(150,100),QPoint(300,150),QPoint(350,250),QPoint(100,300))

def main():

app = QtGui.QApplication(sys.argv)

ex =Painterd1()

ex.show()

sys.exit(app.exec_())

if __name__ == '__main__':

main()

如图:

其他朋友做的例子,可以学习下:http://blog.csdn.net/cxm19830125/article/details/21733377

qt画刷和画笔的更多相关文章

  1. Qt 学习之路 2(25):画刷和画笔

    Home / Qt 学习之路 2 / Qt 学习之路 2(25):画刷和画笔 Qt 学习之路 2(25):画刷和画笔  豆子  2012年11月5日  Qt 学习之路 2  17条评论 前面一章我们提 ...

  2. [游戏模版3] Win32 画笔 画刷 图形

    >_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...

  3. C# GDI绘图之——画笔和画刷

    绘制图形需要画笔和画刷: Pen(画笔类): Pen为C#编程语言中专门的画笔类 使用方式: // 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色 1. Pen p1 = new Pen ...

  4. MFC更换画笔(画刷)颜色以及画眼睛(GDI画图)

    MFC画眼睛 换画笔(画刷)颜色(参考链接:https://blog.csdn.net/sunxiving/article/details/51272001) 由于画笔一旦创建后就无法修改.所以要修改 ...

  5. GDI+编程(画笔/画刷/路径/区域)

    构造Graphics对象 Graphics类是GDI+程序设计的核心,Graphics类能够完成大部分的绘图,文本输出,几何图形的填充及坐标系统的转换等各种操作.在功能上,它与GDI的设备环境(DC) ...

  6. qt 透明度设置(setWindowOpacity 和 setAutoFillBackground 和 带透明度的画刷填充就好了)

    1,父窗口透明// 设置背景图片 QPalette pa;setAutoFillBackground(true);pa.setBrush(QPalette::Background,QBrush(QPi ...

  7. MFC 画笔CPen、画刷CBrush

    新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数 dc默认有一个画笔(实心1像素宽黑线). CPen画笔非实心线像素宽必须为1,否则膨胀接 ...

  8. VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)

    上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一 ...

  9. GDI 画刷(10)

    创建画刷 调用 CreateSoildBrush.CreateHatchBrush.CreateBrushIndirect 函数可以创建画刷. CreateSoildBrush:创建实心画刷: Cre ...

随机推荐

  1. 【ArcGIS 10.2新特性】ArcGIS Online新特性(上)

    概述 7月,ArcGIS Online发布了很多更新.主要内容有:新的网站设计,增强了Web制图,数据分析,应用程序创建,以及机构管理等功能. 更新的大致内容总结如下: 地图查看器:新的分析工具.获取 ...

  2. Struts2 页面url请求怎样找action

    1.我们使用最原始的方法去查找action.不同注解. struts.xml文件先配置 <!-- 新闻信息action --> <action name="newsInfo ...

  3. hdu4756 Install Air Conditioning(MST + 树形DP)

    题目请戳这里 题目大意:给n个点,现在要使这n个点连通,并且要求代价最小.现在有2个点之间不能直接连通(除了第一个点),求最小代价. 题目分析:跟这题一样样的,唉,又是原题..先求mst,然后枚举边, ...

  4. Unity 3D 动画帧事件

    前几天在项目开发中碰到一个这样的需求,RPG游戏中,特效和动画播放不同步的.假如主角在攻击NPC时,先实例化特效,后播放动画.动画毕竟是有一个时间长度的.等到动画播放攻击挥刀的那一瞬间时,特效可能早就 ...

  5. DevExpress控件-GridControl根据条件改变单元格/行颜色--转载

    DevExpress控件-数据控件GridControl,有时我们需要根据特定条件改变符合条件的行或者单元格颜色达到突出显示目的,现在动起鼠标跟我一起操作吧,对的,要达到这个目的您甚至都不用动键盘. ...

  6. javascript---String与Arry

    var str = "liuzhanqi"; document.write(str["length"]);//等价str.l ength var str = s ...

  7. oracle时间戳转换

    select (to_date('2013-04-09 14:02:15','yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01','yyyy-mm-dd')) ...

  8. 分享一个通用的分页SQL

    又很久没写博客,今天记录一个SQLserver通用分页存储过程(适用于SqlServer2000及以上版本) 1.支持连表 2.支持条件查询 USE [MYDB] GO /****** Object: ...

  9. java Math.random()随机数的产生

    Math.random()是java内置产生随机数的函数,Math.random()能够产生[0,1)的浮点数,当我们要产生特定范围的数时,可以采用如下办法: 1.Math.random()*(最大数 ...

  10. Solr中schema.xml的解释

    接Solr-4.10.2与Tomcat整合.schema.xml位于D:\solr\data\solr\collection1\conf\中.1.fieldType节点    name: FieldT ...