Qt绘制文本一
QPainterPath,使用 drawText且设置字体,再使用painter.drawText方式
效果图:

void WgtText::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
//painter.setPen(QPen(Qt::black, 2));
painter.setBrush(QBrush(Qt::blue, Qt::SolidPattern));
//painter.setPen(QPen(Qt::red, 2));
QFont font;
font.setFamily("Microsoft YaHei");
// 大小
font.setPointSize(20);
// 斜体
font.setItalic(true);
// 设置下划线
font.setUnderline(true);
// 设置上划线
font.setOverline(true);
// 设置字母大小写
font.setCapitalization(QFont::SmallCaps);
// 设置字符间距
font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
// 设置加粗
font.setBold(true);
// 使用字体
painter.setFont(font);
QPainterPath path;
path.addText(QPointF(100,100), font, "Qt");
painter.drawPath(path);
return QWidget::paintEvent(event);
} =========================================================================================================
QPainterPath,使用 drawText且设置字体,再使用painter.drawText方式,
效果图:

void WgtText::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(Qt::black, 2));
//painter.setBrush(QBrush(Qt::blue, Qt::SolidPattern));
//painter.setPen(QPen(Qt::red, 2));
QFont font;
font.setFamily("Microsoft YaHei");
// 大小
font.setPointSize(20);
// 斜体
font.setItalic(true);
// 设置下划线
font.setUnderline(true);
// 设置上划线
font.setOverline(true);
// 设置字母大小写
font.setCapitalization(QFont::SmallCaps);
// 设置字符间距
font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
// 设置加粗
font.setBold(true);
// 使用字体
painter.setFont(font);
QPainterPath path;
path.addText(QPointF(100,100), font, "Qt");
painter.drawPath(path);
return QWidget::paintEvent(event);
}
-----------------------------------------------------------
使用画笔直接绘制文本

void WgtText::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(QPen(QColor(0,0,255)));
QFont font;
font.setFamily("Microsoft YaHei");
// 大小
font.setPointSize(20);
// 斜体
font.setItalic(true);
// 设置下划线
font.setUnderline(true);
// 设置上划线
font.setOverline(true);
// 设置字母大小写
//font.setCapitalization(QFont::SmallCaps);
// 设置字符间距
font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
// 设置加粗
font.setBold(false);
// 使用字体
painter.setFont(font);
painter.drawText(QPointF(100,100), "Qt");
return QWidget::paintEvent(event);
}
Qt绘制文本一的更多相关文章
- Qt绘制文本二 弯曲排列和旋转效果 弧形路径 正弦函数路径
void WgtText::paintEvent(QPaintEvent *event) { QPainter painter(this); QString m_string("abcdef ...
- Qt之图形(绘制文本)
简述 前面我们讲解了Qt图形的基本绘制,其中包括: 绘制文本.直线.直线.矩形.弧线.椭圆.多边形.图片,以及其它一些高级用法,比如:渐变.转换等. 本节我们来详细讲解文字的绘制.主要通过QPaint ...
- html5 canvas 笔记三(绘制文本和图片)
绘制文本 fillText(text, x, y [, maxWidth]) 在指定的(x,y)位置填充指定的文本,绘制的最大宽度是可选的. strokeText(text, x, y [, ma ...
- FontMetrics ----- 绘制文本,获取文本高度
Canvas 绘制文本时,使用FontMetrics对象,计算位置的坐标. public static class FontMetrics { /** * The maximum distance a ...
- 使用WebBrowser控件时在网页元素上绘制文本或其他自定义内容
原文:使用WebBrowser控件时在网页元素上绘制文本或其他自定义内容 第一次在CNBlogs上发Post是提出一个有关使用WebBrowser控件时对SELECT网页元素操作的疑惑,这个问题至今也 ...
- Quartz2D 之 绘制文本
1. 基础概念 1.1. 字体(Font) 同一大小.同一样式的字形的集合. 1.2. 字符(Character) 字符表示信息本身,一般指某种编码,如Unicode编码. 1.3. 字形(Glyph ...
- 使用GDI绘制文本
/// <summary> /// 定义一个绘制文本 /// </summary> public void Texts() ...
- 『备注』GDI+ 绘制文本有锯齿,透明背景文本绘制
背景: GDI+ 绘制文本 时,如果 背景是透明的 —— 则会出现 锯齿. //其实,我不用这三个 属性 好多年了 //而且,这三个属性 在关键时刻还有可能 帮倒忙 //关键是:这三个属性,鸟用都没有 ...
- Javascript高级编程学习笔记(88)—— Canvas(5)绘制文本
绘制文本 同样的,canvas也为绘制文本提供了相应的方法. 2D上下文提供的文本绘制方法主要有两个: fillText() strokeText() 这两个方法都接受四个参数 要绘制的文本字符串 绘 ...
随机推荐
- 副本死亡传送(_instance_die_tele)
玩家在副本中死亡时,将传送至对应的坐标 mapId 副本地图ID posId 坐标ID,对应_postion中posId
- Centos6.8安装nginx(一)
在这里对nginx的安装简单的做个记录,后续有时间的话在详细补充. 1.yum安装g++: yum install -y gcc gcc-c++ [enter] 2.下载必需的依赖库:zlib(为了g ...
- c代码,输出i,j,k互不相同的三位数
#include <stdio.h> int main() { int i,j,k; printf("\n"); for(i=1;i<5;i++){ for(j= ...
- Java java.lang.SecurityException: Prohibited package name
java.lang.SecurityException: Prohibited package name 提示java错误: Exception in thread "main" ...
- 如何编写一个d.ts文件
这篇文章主要讲怎么写一个typescript的描述文件(以d.ts结尾的文件名,比如xxx.d.ts). 2018.12.18更新说明: 1.增加了全局声明的原理说明. 2.增加了es6的import ...
- VNC安装配置
1,安装VNC yum install tigervnc-server -y2,设定密码: vncpasswd root 3,配置服务文件,下面是配置了6个窗口. cp /lib/systemd/sy ...
- Codeforces 960F - Pathwalks
960F - Pathwalks 思路: ORZ 杜老师 用map写1e5个树状数组,骚操作 记Q为query和update次数,则节点个数约为Q*log(N) 代码: #include<bit ...
- Navicat for MySQL 查看BLOB字段内容
转载地址:https://blog.csdn.net/lwei_998/article/details/41871329
- 用 EasyUEFI 在 Win8/10 中硬盘安装 Ubuntu16.04图文教程
用 EasyUEFI 在 Win8/10 中硬盘安装 Ubuntu 作者:TeliuTe 来源:基础教程网 1.准备Ubuntu安装文件 1)下载带amd的64位 Ubuntu 桌面版光盘镜像文件,如 ...
- c# 正则表达式如何处理换行符?
我们要分析网页,把整个网页内容作为匹配源,但是c#的正则表达式是默认以一行为单位的,使用 RegexOptions.Multiline 也没有实质性作用(它知识改变了^和$的行为) 只要在正则表达式前 ...