一、文本格式
1. 属性
Text项目的textFormat
属性决定了text属性的显示方式,支持的文本格式有:
Text.AutoText
(默认)Text.PlainText
Text.StyledText
Text.RichText
Text.MarkdownText
使用默认的Text.AutoText
时可以自动判定是否以样式文本进行显示,这是通过检查文本是否存在HTML标签来判定的,通常情况下可以正确判断,但是并不能保证绝对正确。
标签 | 作用说明 |
---|---|
<b></b> | 加粗 |
<del></del> | 删除(删除内容) |
<s></s> | 删除(不再准确或不再相关的内容) |
<strong></strong> | 加粗 |
<i></i> | 斜体 |
<br> | 新行 |
<p> | 段落 |
<u> | 下划线 |
<font color="color_name" size="1-7"></font> | 字体 |
<h1>to<h6> | 标题 |
<a href=""> | 超文本链接 |
<img src="" align="top.middle.bottom" width="" height=""> | 内嵌图片 |
<ol type=""> , <ul type=""> , <li> | 有序和无序列表 |
<pre></pre> | 预格式化 |
Text.StyledText
解析器很严格,需要标签必须正确嵌套。
2. 示例
import QtQuick
Column{
padding: 10
Text {
font.pointSize: 24
text: "<b>Hello</b><i>World!</i>"
}
Text{
font.pointSize: 24
textFormat: Text.RichText
text: "<b>Hello</b><i>World!</i>"
}
Text {
font.pointSize: 24
textFormat: Text.PlainText
text: "<b>Hello</b><i>World!</i>"
}
Text {
font.pointSize: 24
textFormat: Text.StyledText
text: "<del>Hello</del><h1>World!</h1>"
}
Text {
font.pointSize: 24
textFormat: Text.MarkdownText
text: "**Hello** *World!*"
}
}
二、超链接
1. 属性
Text项目提供了一个Text::onLinkActivated(string link)
处理器,它会在用户单击了文本超链接时被调用。
超链接必须使用富文本或者HTML格式。
2. 示例
其中link提供了被单击的特定链接。
import QtQuick
Item {
width: 400
height: 100
Text {
textFormat: Text.RichText
font.pointSize: 24
text: "欢迎访问<a href=\"https://www.bing.com/?mkt=zh-CN\">必应</a>"
onLinkActivated: (link) =>{
console.log(link + " link activated")
}
}
}