qt linux字体,Qt字体轮廓的绘制
绘制的过程如下:
1 QFont font; 2 font.setPointSize(this->height() * 2 * mZoomRatio / 3); 3 font.setBold(true); 4 if(mDrawOutlined) 5 { 6 QFontMetrics metrics(font); 7 QPainterPath path; 8 QPen pen(QColor(0, 0, 0, 100)); 9 int penwidth = font.pointSize() * 0.05;10 if(penwidth > 6);11 {12 penwidth = 6;13 }14 pen.setWidth(penwidth);15 int len = metrics.width(mText);16 int w = width();17 int px = (len - w) / 2;18 if(px
29 painter.strokePath(path, pen);30 painter.drawPath(path);31 painter.fillPath(path, QBrush(mTextColor));32 // painter.drawRect(rect());33 }34 else35 {36 painter.setFont(font);37 painter.setPen(mTextColor);38 painter.drawText(0, 0, this->width()-1, this->height()-1, mTextFlags, mText);39 }
代码中strokePath函数式绘制字体的轮廓, fillPath函数用于填充字体。
addText函数中(px, py)指的是绘画的起点位置,py的计算方法在上面已经给出,通过控制px可以实现左对齐、右对齐、居中等对齐方式。用qt助手查看该函数说明可以了解。
这种方法适合在不可编辑的文字区域绘制例如QLabel,QButton等,对于QTextEdit等可编辑的区域可以使用QSS来实现,实现的方法在Qt助手中已经给出了,在qt助手中搜索styleColor就可以找到。
。。。 其实qss的方法我现在还不会用
这里使用另外一种方法实现QTextEdit中字体轮廓的绘制方法
代码如下:ui->textEdit->setFontPointSize(50);
QTextCharFormat format;
format.setTextOutline (QPen (Qt::red, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)); // Color and width of outline
ui->textEdit->mergeCurrentCharFormat(format);
qt linux字体,Qt字体轮廓的绘制相关推荐
- qt linux 程序设置字体,QT程序中显示中文字体解决办法
最近一直在做移植qtopia4.4.3和QT4.7的工作.qtopia已经可以在龙芯开发板上正常运行.搭建QT4.7的环境,使用QT4.7编写小程序,发现不能显示中文.研究了一番,找到了如下的解决方法 ...
- qt linux webservice,Qt实现访问WebService
之前也许是因为根本不用的原因吧,,,根本没有想过Qt访问WebService的方式.... 要解决这个问题,因为Qt现行版没有提供直接访问的类库...首先是一些必备知识, 我连的服务器是用VS2010 ...
- qt linux opensource ,QT opensource embedded linux 编…
建立自己的编译链文件夹 mkdir linux-mick-omap 拷贝别的文件夹下,譬如linux-arm-g++中的qmake.conf qplatformdefs.h到linux-mick-om ...
- Linux下添加字体(QT可用)
Linux下面的字体(特别是一些嵌入式设备)不像windows下那么丰富,不过也可以自己手动添加.主要就是.ttf文件的搬运工~下面就来说说如何在Linux下添加字体吧! 1.首先在windo ...
- Qt Creator使用自定义字体
Qt Creator使用自定义字体 使用自定义字体 使用自定义字体 为了使UI在设备上预览时使用自定义字体,必须将字体导入项目文件夹.Qt Design Studio会将它们与您的UI一起部署到设备上 ...
- Pango+Qt 列举windows系统字体
欢迎关注公众号可以查看更多完整文章 可以显示Windows上所安装的所有字体的名称. 使用Qt显示数量和名称. 需要依赖Pango.Cairo.glib三个库,获取三个库,获取可以参见我的其他博客. ...
- qt designer stylesheet 设置字体加粗无效
估计是qt designer的bug,qt designer stylesheet 设置字体加粗无效. 解决办法是在右侧的属性窗口对字体进行加粗设置,注意需要将stylesheet里面对字体的加粗设置 ...
- linux提取ttf字体轮廓,提取Windows的TTF字体轮廓矢量数据
Windows系统的TTF字体具有字体优美.可无级缩放等优点,最适合应用在CAD类图形处理等软件中.直接分析TTF字体的文件格式并读出每个字的轮廓矢量是相当困难的,我们可以借助API函数来方便地获得这 ...
- qt 对话框位置如何确定_在图片上加字,如何确定该用什么字体、字体的颜色和放置的位置?...
这是一位读者在后台向我提出的问题.坦白讲,第一次看到这个问题的时候,我觉得这个读者太鸡贼了.为什么这么说呢? 因为这看似是一个问题,倒不如说是3个问题.不过,不得不说,这的确是一个很有价值的好问题. ...
最新文章
- C++之Boost使用
- android.os.NetworkOnMainThreadException异常
- 放肆地使用UIBezierPath和CAShapeLayer画各种图形
- classloader
- 【转】ABP源码分析四十二:ZERO的身份认证
- 程序员啊程序员...济南昊锐科技
- Pure Pursuit纯跟踪算法Python/Matlab算法实现
- 华为云FusionInsight MRS:千余节点滚动升级业务无中断
- 终于转了,写写人生学习规划
- 利用 Conda 尝鲜 Python 3.10 不一样的特性 快来试试
- java开发和android开发_浅谈Java开发和Android开发的不同
- 文言文编程可以编译成PHP吗,PSTK项目:文言文也能编程?大四学生发明文言文编程语言...
- Java毕设项目车辆调度管理系统计算机(附源码+系统+数据库+LW)
- java setmethod_java.util.zip.ZipEntry.setMethod(int method)方法示例
- [附源码]SSM计算机毕业设计st音乐网站论文JAVA
- 司普沃浅谈豆角种植技术与管理方案
- 图解数据在网络中的传输过程
- 吴军亲述编程生涯:不用低效率的算法做事情
- 广州启明星辰的面试经历
- mysql外键约束的作用_MySql外键约束作用
热门文章
- mysql scn_Oracle scn详解
- JavaScript中数据类型的转换与undefined及Null
- JMeter接口测试文档
- [Office 2010 易宝典]怎样在Windows Phone上记录笔记并与OneNote 2010同步
- css透明度属性简介
- python面向对象程序设计实验总结_python面向对象编程小结
- 手机闹钟软件测试用例,手机测试用例
- CNN FPGA加速器实现(小型)CNN FPGA加速器实现(小型)
- GJB151B CS106测试方法
- DC-DC直流升压模块电源12V升24V(5A)FP5207