如何在QML中使用不同的字体(font)
在这篇文章中,我们将展示如何在我们的QML应用中使用不同的font.我们既可以使用本地应用带有的字体,也可以使用系统带有的字体.我们也展示了如何使用一个在网路上的字体.
为了使用字体,我们可以通过如下的方式来使用它:
Text {text: myTextcolor: "lightsteelblue"width: parent.widthwrapMode: Text.WordWrapfont.family: "Times"font.pixelSize: size}
具体的使用说明可以参考连接 QML Text.当然,我们也可以使用一种简洁的格式:
Text {text: myTextcolor: "lightsteelblue"width: parent.widthwrapMode: Text.WordWraphorizontalAlignment: Text.AlignHCenterfont { family: "Times"; pixelSize: size; capitalization: Font.AllUppercase }}
我们可以在上面一行中定义font的所有的属性.
为了使用不同的font,我们可以使用FontLoader来装载我们的font:
FontLoader { id: fixedFont; name: "Courier" }FontLoader { id: localFont; source: "content/fonts/tarzeau_ocr_a.ttf" }FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }
在上面的代码中,我们使用了本地的Courier字体,我们也使用了在本地文件目录中的字体tarzeau_ocr_a.ttf,同时我们也定义了一个网路的字体.该字体文件存在于网路的一个 地址.在实际的使用中,该字体将本载入到我们的应用中使用.
为了说明问题,我们直接把我的源码写出来:
Fonts.qml
import QtQuick 2.0Rectangle {property string myText: "The quick brown fox jumps over the lazy dog."width: 320; height: 480color: "steelblue"FontLoader { id: fixedFont; name: "Courier" }FontLoader { id: localFont; source: "content/fonts/tarzeau_ocr_a.ttf" }FontLoader { id: webFont; source: "http://www.princexml.com/fonts/steffmann/Starburst.ttf" }property int size: 40Column {anchors { fill: parent; leftMargin: 10; rightMargin: 10; topMargin: 10 }spacing: 15Text {text: myTextcolor: "lightsteelblue"width: parent.widthwrapMode: Text.WordWrapfont.family: "Times"font.pixelSize: size}Text {text: myTextcolor: "lightsteelblue"width: parent.widthwrapMode: Text.WordWraphorizontalAlignment: Text.AlignHCenterfont { family: "Times"; pixelSize: size; capitalization: Font.AllUppercase }}Text {text: myTextcolor: "lightsteelblue"width: parent.widthhorizontalAlignment: Text.AlignRightwrapMode: Text.WordWrapfont { family: fixedFont.name; pixelSize: size; weight: Font.Bold; capitalization: Font.AllLowercase }}Text {text: myTextcolor: "lightsteelblue"width: parent.widthwrapMode: Text.WordWrapfont { family: fixedFont.name; pixelSize: size; italic: true; capitalization: Font.SmallCaps }}Text {text: myTextcolor: "lightsteelblue"width: parent.widthwrapMode: Text.WordWrapfont { family: localFont.name; pixelSize: size; capitalization: Font.Capitalize }}Text {text: {if (webFont.status == FontLoader.Ready) myTextelse if (webFont.status == FontLoader.Loading) "Loading..."else if (webFont.status == FontLoader.Error) "Error loading font"}color: "lightsteelblue"width: parent.widthwrapMode: Text.WordWrapfont.family: webFont.name; font.pixelSize: size}}
}
运行我们的应用,显示的画面为:
我们的源码地址为:https://github.com/liu-xiao-guo/fonts
如何在QML中使用不同的字体(font)相关推荐
- 如何在Axure中使用Iconfont图标字体
需求背景 在原型设计中,图标是我们使用率非常高的元素,通常我们会选择将图标导出为图片放到Axure里使用,或者使用Axure的图标元件库,但是他们使用起来会有很多不方便的地方: 图片进行缩放会失真,无 ...
- 如何在qml中使用opengl接口进行渲染
在QWidget中,可以使用QOpenglWidget调用opengl接口进行渲染,因为QWidget大部分控件都是依赖于平台的(cpu绘制),所以我们调用opengl的接口时不需要考虑opengl的 ...
- 教你如何在Unity3D中快速制作自定义字体。
自己的游戏有自己想要的字体,这个需求很常见.如何,以及如何快速的在unity中制作出自定义字体,这个技术你值得拥有,我值得共享.不喜欢废话,直入主题了. 什么叫自定义字体? 看到没,给你一些这 ...
- js点击按钮改变字体大小并给他颜色_如何在Elementor中修改文本的字体、大小、颜色、样式...
本文将介绍Elementor网页编辑器中如何修改文本的字体.大小.颜色和样式. 原文首发于:https://loyseo.com/how-to-change-font-size-color-famil ...
- 如何在ppt中带走自己的字体
在一台电脑上制作好的演示文稿,复制到另一台电脑上播放时,可能由于两台电脑安装的字体不同,影响到演示文稿的播放效果.那么,能不能将自己设置的字体一并带走呢? 解决方法:如果你所设置的是"Tru ...
- html中如何使用渐变颜色代码,html – 如何在CSS中使用渐变作为字体颜色?
您可以使用位于彼此顶部的多个跨度,并为其中的每一个分配不同的高度和颜色.它真的很丑的编码明智,但它的作品. http://jsfiddle.net/7yBNv/ 文本选择行为有点时髦,但不是太糟糕.并 ...
- 【Ps】如何在ps中导入新的字体
- (译)通过WebChannel/WebSockets与QML中的HTML交互
来源:通过WebChannel/WebSockets与QML中的HTML交互 GitHub:八至 作者:狐狸家的鱼 本文链接:QML与HTML交互 在查询QML与HTML之间通信交互时资料很少,这篇文 ...
- java中的BaseFont,iText,Font,BaseFont和createFont()发生了什么? | 所有编程讨论 | zhouni.net...
问题 iText,Font,BaseFont和createFont()发生了什么? 关于font和basefont发生了什么,我有很多神秘感.特别是在构造函数方面. iText网站将此行作为新字体的示 ...
最新文章
- 推荐5最佳免费图像注释工具
- java语言仅支持单重继承_java语言程序设计基础篇习题_复习题_第十一章
- 赋能RPA时代,微软发布通用文档理解预训练模型LayoutLM
- (chap6 Http首部) 响应首部字段 Accept-RangeAge Etag
- 2019年 第10届 蓝桥杯 Java B组 省赛真题详解及总结
- 微信公众平台开发—利用OAuth2.0获取微信用户基本信息
- matlab里sconv原理_第6章 信号的时域分析及Matlab实现.ppt
- python中面向对象_简述Python中的面向对象编程的概念
- 数字信号处理3个作业-----作业3自相关与Burg求解AR模型系数以估计其功率谱
- 备受推崇的《R语言实战》真的值得如此好评吗?
- BufferedWriter使用write方法如何换行
- php转换时间戳的一些方法
- Access to XMLHttpRequest at 'XXX' from origin 'XX' has been blocked by CORS policy: No 'Access-Contr
- ubuntu qt平台搭建openssl开发环境
- 经验总结 黑客入侵网络的50种方法2
- 甲方安全之仿真钓鱼演练(邮件+网站钓鱼)
- front UAG in 10 minutes
- 几何公差之基准要素的管控
- 华清远见-重庆中心-JAVA高级阶段技术总结/知识点梳理/个人总结
- 水平视角垂直视角概念