1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt绘图解

渐变填充 Qt提供了渐变填充的画刷,渐变填充包括两个要素:颜色的变化和路径的变化。 颜色变化可以指定从一种颜色渐变到另外一种颜色。 路径变化指在路径上指定一些点的颜色进行分段渐变。 Qt中,提供了三种渐变填充 线性(QLinearGradient) 圆形(QRadialGradient) 圆锥渐变(QConicalGradient) 所有的类都从QGradient类继承 构造渐变填充的画刷 QBrush b = QBrush( QRadialGradient( ... ) ); * 窍程跟洗溶套络讼凯枫伊鸣且伦眉尔括瞻否诊元臭一砾锡数恩味爱亦玫叹Qt绘图解Qt绘图解 填充设置 从图形的起点到终点,以从0至1的比例渐变填充 完成0-1范围的填充后,后续颜色铺开的方式可以不同,通过setSpread() 函数来设置 * QGradient::setColorAt( qreal pos, QColor ); QGradient::PadSpread (default) QGradient::RepeatSpread QGradient::ReflectSpread 络菲幸家噶祥官辰匆醒炔形笺钉赘姐筷莲储锤十响叠啄仓泣莱撕蔗倡竞霹Qt绘图解Qt绘图解 线性渐变填充 线性渐变填充指定两个控制点,画刷在两个控制点之间进行颜色插值。 通过创建QLinearGradient对象来设置画刷。 QPainter p(this); QLinearGradient g(0, 0, 100, 100); g.setColorAt(0.0, Qt::white); g.setColorAt(1.0, Qt::blue); p.setBrush(g); p.drawRect(0, 0, 100, 100); 在QGradient构造函数中指定线性填充的两点分别为(0,0),(100,100)。setColorAt()函数在0-1之间设置指定位置的颜色。 * 哀刻尔帆勒淹馈揪丸着堂怀朝度浴悠蕊惜妊躬渴岂径淫疥口滑馆纬竣祥菲Qt绘图解Qt绘图解 线型填充示例 * 耸抑富痰朋惫惺疡欢钞群澄券蝗档假喊扶净庭嘲橙滁芽揭陶摔锨矫枝缀尘Qt绘图解Qt绘图解 圆形渐变填充 圆形渐变填充需要指定圆心,半径和焦点,QRadialGradient ( qreal cx, qreal cy, qreal radius, qreal fx, qreal fy )。画刷在焦点和圆上的所有点之间进行颜色插值。创建QRadialGradient对象设置画刷 QPainter painter(this); QRadialGradient radialGradient(50, 50, 50, 30, 30); radialGradient.setColorAt(0.0, Qt::white); radialGradient.setColorAt(1.0, Qt::blue); painter.setBrush(radialGradient); painter.drawRect(0, 0, 100, 100); * 粕拜葫芒茫菜丰儡见糙苗缘块掐监搽宠艳殖睬便策掷高至亭竿蓄年盒肯祟Qt绘图解Qt绘图解 圆锥渐变填充 圆锥渐变填充指定圆心和开始角,QConicalGradient ( qreal cx, qreal cy, qreal angle )。画刷沿圆心逆时针对颜色进行插值,创建QConicalGradient对象并设置画刷。 QPainter painter(this); QConicalGradient conicalGradient(50, 50, 90); conicalGradient.setColorAt(0, Qt::white); conicalGradient.setColorAt(1, Qt::blue); painter.setBrush(conicalGradient); painter.drawRect(0, 0, 100, 100); 为了实现自定义填充,还可以使用QPixmap或者QImage对象进行纹理填充。两种图像分别使用setTexture()和setTextureImage()函数加载纹理。 * 只臼宴诗赞请朔攻启秉眨期闸挡照痹胺蒜珠训塑嫡樱祷哦瘴落愈嚏念忍妨Qt绘图解Qt绘图解 * 绘制文本 嗓鲜耪碴岔患印迢茵抒仍臣界状骸鹊陵镇广妄蛋垒霖测必骤形通障畴岂摩Qt绘图解Qt绘图解 文本绘制 使用QPainter进行文本绘制 基本文本绘制 带选项的文本绘制 带返回信息的文本绘制 * drawTex

文档评论(0)

16588ww + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档