qt画刷和画笔
# -*- 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画刷和画笔的更多相关文章
- Qt 学习之路 2(25):画刷和画笔
Home / Qt 学习之路 2 / Qt 学习之路 2(25):画刷和画笔 Qt 学习之路 2(25):画刷和画笔 豆子 2012年11月5日 Qt 学习之路 2 17条评论 前面一章我们提 ...
- [游戏模版3] Win32 画笔 画刷 图形
>_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...
- C# GDI绘图之——画笔和画刷
绘制图形需要画笔和画刷: Pen(画笔类): Pen为C#编程语言中专门的画笔类 使用方式: // 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色 1. Pen p1 = new Pen ...
- MFC更换画笔(画刷)颜色以及画眼睛(GDI画图)
MFC画眼睛 换画笔(画刷)颜色(参考链接:https://blog.csdn.net/sunxiving/article/details/51272001) 由于画笔一旦创建后就无法修改.所以要修改 ...
- GDI+编程(画笔/画刷/路径/区域)
构造Graphics对象 Graphics类是GDI+程序设计的核心,Graphics类能够完成大部分的绘图,文本输出,几何图形的填充及坐标系统的转换等各种操作.在功能上,它与GDI的设备环境(DC) ...
- qt 透明度设置(setWindowOpacity 和 setAutoFillBackground 和 带透明度的画刷填充就好了)
1,父窗口透明// 设置背景图片 QPalette pa;setAutoFillBackground(true);pa.setBrush(QPalette::Background,QBrush(QPi ...
- MFC 画笔CPen、画刷CBrush
新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数 dc默认有一个画笔(实心1像素宽黑线). CPen画笔非实心线像素宽必须为1,否则膨胀接 ...
- VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)
上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一 ...
- GDI 画刷(10)
创建画刷 调用 CreateSoildBrush.CreateHatchBrush.CreateBrushIndirect 函数可以创建画刷. CreateSoildBrush:创建实心画刷: Cre ...
随机推荐
- Python获取并输出当前日期时间
取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年 ...
- Javascript: 截取字符串多出来并用省略号[...]显示
/背景知识/ substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数描述 start 必需.一个非负的整数 ...
- [置顶] Android安全机制分析
Android系统是基于Linux内核开发的,因此,Android系统不仅保留和继承了Linux操作系统的安全机制,而且其系统架构的各个层次都有独特的安全特性[2] . 1. Linux内核层安全机制 ...
- 改进的newlisp编译脚本,只需要配置
前面有一篇Say bye to CMake and Makefile我开始用自己编写的newlisp脚本替代CMake,今天对前面的进行改进. 改进部分是: 1. newlisp armory模块的引 ...
- 502 bad gateway是什么意思
通俗解释一下 1.什么是502 bad gateway 报错? 简单来说 502 是报错类型代码 bad gateway 错误的网关 2.产生错误的原因 连接超时 我们向server器发送请求 因为s ...
- Git diff (---和+++具体解释)
如果两个文件相似度很高,那么上下文格式的diff,将显示大量重复的内容,很浪费空间.1990年,GNU diff率先推出了"合并格式"的diff,将f1和f2的上下文合并在一起显示 ...
- Dynamics CRM 开发模板使用手册(插件开发)
CRM开发手册 本手册介绍在Visual Studio 2015 + Dynamics CRM Developer Extensions模板开发环境下,插件和JS脚本的开发.部署与调试过程. 手册中提 ...
- oracle之substr函数
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr(,) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 substr(,) //返回结果为 'H' ...
- 设置单选的listView或者gridview
主要是这个BeaseAdapter的方法notifyDataSetChanged()的使用;作用 :调用BaseAdapter中的getView();方法,刷新ListView中的数据.实现:1.在B ...
- (转)[老老实实学WCF] 第一篇 Hello WCF
http://blog.csdn.net/songyefei/article/details/7363296#comments 老老实实学WCF 第一篇 Hello WCF WCF(Windows ...