[Qt2D绘图]-04绘制文字&&绘制路径
- 第一个参数指定了绘制文字所在的矩形;
- 第二个参数指定了文字在矩形中的对齐方式,它由Qt::AlignmentFlag枚举类型进行定义,不同对齐方式也可以使用按位或“|”操作符同时使用,这里还可以使用Qt::TextFlag定义的其他一些标志,比如自动换行等;
- 第三个参数就是所要绘制的文字,这里可以使用“\n”来实现换行;
- 第四个参数一般不用设置。
painter.drawStaticText(QPoint(, ),
QStaticText(QString("hello use drawStaticText")));
void Widget::paintEvent(QPaintEvent *event) {
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
QPainterPath path;
// 创建一个QPainterPath对象后就会以坐标原点为当前点进行绘制,
// 可以使用moveTo()函数改变当前点,移动当前点到点(50,250)
path.moveTo(, );
// 从当前点即(50,250)绘制一条直线到点(50,230).完成后当前点更改为(50,230)
path.lineTo(, );
//从当前点和点(120,60)之间绘制一条三次贝塞尔曲线
path.cubicTo(QPointF(, ), QPointF(, ), QPointF(, ));
path.lineTo(, );
//向路径中添加一个椭圆
path.addEllipse(QPointF(130.0, 130.0), , );
// 绘制path
painter.drawPath(path);
//平移坐标系统后再次绘制路径
path.translate(, );
painter.setPen(Qt::darkBlue);
painter.drawPath(path);
}
QPainter painter(this);
QPainterPath path;
// 此path没有设置fillrule。则使用默认的Qt::OddEvenFill
path.addEllipse(,,,);
path.addRect(,,,);
painter.setBrush(Qt::cyan);
painter.drawPath(path); //此path手动设置填充规则
painter.translate(,);
path.setFillRule(Qt::WindingFill);
painter.drawPath(path);
QPainter::fillPath()来填一个路径;
QPainter::strokePath()函数来绘制路径的轮廓;
QPainterPath::elementAt()来获取路径中的一个元素;
QPainterPath::elementCount()获取路径中元素的个数;
QPainterPath::contains()函数来判断一个点是否在路径中;
QPainterPath::toFillPolygon()函数将路径转换为一个多边形。
...
[Qt2D绘图]-04绘制文字&&绘制路径的更多相关文章
- Qt 2D绘图之三:绘制文字、路径、图像、复合模式
一.绘制文字 除了绘制图形以外,还可以使用QPainter::darwText()函数来绘制文字,也可以使用QPainter::setFont()设置文字所使用的字体,使用QPainter::font ...
- IOS开发 图形绘制,绘制线条,矩形,和垂直和居中绘制文字
概述 吐槽下IOS下 的图形绘图,代码冗长,不得不自己重新封装方法.整理形成本文. 绘制线 // 绘制直线 + (void)toDrawLineFromX:(CGFloat)x1 Y:(CGFloat ...
- [Qt2D绘图]-01Qt2D绘图基本绘制和填充
Qt的文档位置为 Paint System 大纲: 简介 先看一个小例子 基本的绘制和填充 使用画笔(Qpen) 使用画刷(QBrush) ...
- 学习Canvas绘图与动画基础 绘制多条路径(四)
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...
- VB6 GDI+ 入门教程[4] 文字绘制
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[4] 文字绘制 2009 年 6 月 18 日 7条评论 ...
- html5--5-11 绘制文字
html5--5-11 绘制文字 学习要点 掌握文字的绘制方法 文字的绘制方法 strokeText("文字",x,y,maxWith) 绘制(描边)空心文字 fillText(& ...
- Android之TextView文字绘制流程
一:TextView的onDraw()方法: 1.第一句restartMarqueeIfNeeded()绘制字幕滚动. protected void onDraw(Canvas canvas) { r ...
- Canvas入门(3):图像处理和绘制文字
来源:http://www.ido321.com/997.html 一.图像处理(非特别说明,所有结果均来自最新版Google) 在HTML 5中,不仅可以使用Canvas API绘制图形,也可以用于 ...
- 微信小程序生成海报分享:canvas绘制文字溢出如何换行
主要思路: 1.先分割为字符串数组,然后一个字一个字绘图,利用ctx.measureText(string) 方法,获取绘制后的宽度,判断宽度在多少内就另起一行,再将各行拼成一个字符串 2.计算另起的 ...
随机推荐
- excel筛选重复项代码
Sub test()'updateby Extendoffice 20151030 Dim xRng As Range Dim xTxt As String On Error Res ...
- .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5
.NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5 一个使用 Prism 作为模块化框架.基于多个开源控件库作为UI控件选择.集成开源 UI 界面设计的 .NET ...
- opencv C++ Mat构造函数
cv::Scalar scalar1(v); cv::Mat mat3(size,CV_8UC1,scalar1); std::cout<<mat3<<std::endl; s ...
- Spring如何解决循环依赖?
介绍 先说一下什么是循环依赖,Spring在初始化A的时候需要注入B,而初始化B的时候需要注入A,在Spring启动后这2个Bean都要被初始化完成 Spring的循环依赖有两种场景 构造器的循环依赖 ...
- Vmware虚拟机克隆以及关闭防火墙
vmware虚拟机克隆之后,一定要修改克隆机器的mac地址和IP上网地址,不能和之前的机器一样
- MySql数据库GROUP BY使用过程中的那些坑
MySql数据库GROUP BY使用过程中的那些坑 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. 特别注意: group by 有一个原则,就是 select 后面的所有 ...
- C#数据结构与算法系列(十四):递归——八皇后问题(回溯算法)
1.介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的经典案例,该问题是国际西洋棋棋手马克斯.贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即 任意两个皇后都不能处 ...
- Flutter开发初探
目前跨端开发比较热门的就是 React Native 和 Flutter 了,到底该选哪门技术似乎也快成了大前端圈的一个热门话题.对于web前端来说,基于web生态的 React Native 应该是 ...
- Java笔试面试总结—try、catch、finally语句中有return 的各类情况
前言 之前在刷笔试题和面试的时候经常会遇到或者被问到 try-catch-finally 语法块的执行顺序等问题,今天就抽空整理了一下这个知识点,然后记录下来. 正文 本篇文章主要是通过举例的方式来阐 ...
- 入门大数据---Hbase容灾与备份
一.前言 本文主要介绍 Hbase 常用的三种简单的容灾备份方案,即CopyTable.Export/Import.Snapshot.分别介绍如下: 二.CopyTable 2.1 简介 CopyTa ...