如何在QML中使用不同的字体(font)
来源:互联网 发布:合肥美工招聘 编辑:程序博客网 时间:2024/05/16 16:05
在这篇文章中,我们将展示如何在我们的QML应用中使用不同的font.我们既可以使用本地应用带有的字体,也可以使用系统带有的字体.我们也展示了如何使用一个在网路上的字体.
为了使用字体,我们可以通过如下的方式来使用它:
Text { text: myText color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap font.family: "Times" font.pixelSize: size }
具体的使用说明可以参考连接QML Text.当然,我们也可以使用一种简洁的格式:
Text { text: myText color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap horizontalAlignment: Text.AlignHCenter font { family: "Times"; pixelSize: size; capitalization: Font.AllUppercase } }
为了使用不同的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: 480 color: "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: 40 Column { anchors { fill: parent; leftMargin: 10; rightMargin: 10; topMargin: 10 } spacing: 15 Text { text: myText color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap font.family: "Times" font.pixelSize: size } Text { text: myText color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap horizontalAlignment: Text.AlignHCenter font { family: "Times"; pixelSize: size; capitalization: Font.AllUppercase } } Text { text: myText color: "lightsteelblue" width: parent.width horizontalAlignment: Text.AlignRight wrapMode: Text.WordWrap font { family: fixedFont.name; pixelSize: size; weight: Font.Bold; capitalization: Font.AllLowercase } } Text { text: myText color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap font { family: fixedFont.name; pixelSize: size; italic: true; capitalization: Font.SmallCaps } } Text { text: myText color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap font { family: localFont.name; pixelSize: size; capitalization: Font.Capitalize } } Text { text: { if (webFont.status == FontLoader.Ready) myText else if (webFont.status == FontLoader.Loading) "Loading..." else if (webFont.status == FontLoader.Error) "Error loading font" } color: "lightsteelblue" width: parent.width wrapMode: Text.WordWrap font.family: webFont.name; font.pixelSize: size } }}
运行我们的应用,显示的画面为:
我们的源码地址为:https://github.com/liu-xiao-guo/fonts
0 0
- 如何在QML中使用不同的字体(font)
- 如何在HTML中使用图标字体 - icon font?
- 如何在HTML中使用图标字体 - icon font?
- 如何在HTML中使用图标字体 - icon font?
- 在html中使用自己定义的字体(font)
- CSS3中字体@font-face的使用
- 字体Font的使用
- 如何在QML应用中显示在系统中的所有的字体
- 在网页中使用google字体的方法(Google Font API)
- 如何在QML中使用multitouch
- QML 的 font 与 Canvas 的中 font
- QML 的 font 与 Canvas 的中 font
- Android在程序中使用不同的字体
- 在iOS中使用字体文件.ttf(icon font,可缩放矢量图)
- 字体类Font的使用
- 如何使用自定义字体?@font-face
- Flex中如何在mx:Style中用@font-face,在Flash SWF中嵌入字体
- 在canvas中应用font-awesome字体
- Cache (computing) && CPU Cache
- 有感"全球癌症热点图:患癌负担转至发展中国家"
- 学习笔记-php和js之间的相互调用
- ES6学习——新的语法:Arrow Functions
- css继承
- 如何在QML中使用不同的字体(font)
- 关于三位一体2的渲染(网摘)
- C语言union(联合体 共用体)
- 红糖和赤砂糖
- STL算法库-删除算法
- 不是更快更强,而是更加自如——2015年终总结
- HTML转为markdown工具
- (转)java中short类型变量
- POJ--1936 All in All(水题,暴力即可)