正文 在场景中添加格式化的文本。
属性
- advance: size
此属性从Qt 5.10引入。 - antialiasing: bool
文本是否使用抗锯齿。
只有具有renderType为Text.NativeRendering的Text才能禁用抗锯齿。
默认值为true。 - baseUrl: url
此属性用于指定Text中相对URL的基本URL:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WfnzYI2K-1594801552612)(leanote://file/getImage?fileId=5f0c111550f7571d32000002)] - clip: bool
为true时,如果文本超过对象的范围,则会自动裁剪超出部分。
如果要在有限的空间中显示很长的文本,则可能要设置elide。 - color: color
文本颜色。 - contentHeight: real
返回文本的高度 - contentWidth: real
返回文本的宽度,包括超出的宽度(如果设置了WrapMode则由于换行不足而覆盖的宽度) - effectiveHorizontalAligment: enumeration
- elide: enumeration
当文本长度超出了父对象的宽度,则通过该属性来设置超出部分用…来表示。
此属性不能与富文本一起使用。
消除文本的方式:
Text.ElideNone-默认
Text.ElideLeft
Text.ElideMiddle
Text.ElideRight - font.bold: bool
设置字体的粗细 - font.capitalization: enumeration
设置文本大小写方式:
Font.MixedCase-允许Text中有大小写混合形式呈现。
Font.AllUppercase-所有字符都必须以大写形式呈现。
Font.AllLowercase-所有字符都必须以小写形式呈现。
Font.SmallCaps-将以小写形式呈现的文本变小。
Font.Capitalize-每个单词的第一个字符改为大写字符。 - font.familt: string
设置字体样式名称。 - font.hintingPreference: enumeration
在文本上设置首选提示。 - font.italic: bool
设置字体是否为斜体显示。 - font.kerning: bool
绘制文本时启用或禁用字距调整OpenType功能。禁用此功能可能会提高创建或更改文本的性能,但会影响某些外观。
Text { text: "OATS FLAVOUR WAY";
font.kerning: false }
此属性在Qt 5.10中引入。
- font.letterSpacing: real
设置字符的间距。
正值将增加间距像素;负值则减小。 - font.pixelSize: int
设置字体的像素大小。
使用该属性使字体显示大小依赖于设备。 - font.pointSize: real
设置字体大小,以磅为单位,值必须大于0.
该属性不依赖于设备。 - font.preferShaping: bool
- font.strikeout: bool
设置字体是否显示删除线的样式。 - font.styleName: string
设置字体的样式名称。
样式名称不区分大小写,如果设置,字体将与样式名称匹配,而不与字体属性(font.weight,font.bold,font.italic)匹配。
如下示例:
Text {
id: light
text: qsTr("Source Han Sans K Light")
font.family: "Source Han Sans K"
font.pixelSize: 20
font.styleName : "Light"
}
- font.underline: bool
设置文本是否带下划线。 - font.weight: enumeration
设置字体的粗细。
枚举:
Font.Thin
Font.Light
Font.ExtraLight
Font.Normal - the default
Font.Medium
Font.DemiBold
Font.Bold
Font.ExtraBold
Font.Black - font.wordSpacing: real
设置字体的字间距。 - fontSizeMode: enumeration
此属性指定字体大小显示的模式。(测试后,没有发现效果)
Text.FixedSize (default) - The size specified by font.pixelSize or font.pointSize is used.
Text.HorizontalFit - The largest size up to the size specified that fits within the width of the item without wrapping is used.
Text.VerticalFit - The largest size up to the size specified that fits the height of the item is used.
Text.Fit - The largest size up to the size specified that fits within the width and height of the item is used.
- horizontalAlignment: enumeration
- hoveredLink: string
当鼠标悬浮在文本中嵌入的链接时,返回该链接字符串。
链接必须为富文本格式或HTML格式,并且hoveredLink字符串提供对特定链接的访问。
此属性在Qt5.2引入。
另外参考:linkHovered和linkAt() - leftPadding: real
- lineCount: int
返回文本项中可见的行数。
此属性不支持富文本格式。 - lineHeight: real
设置文本的行高。该值的单位可以是像素,可以是倍数,取决于lineHeightMode。
默认值为1.0的倍数,线高必须为正值。 - lineHeightMode: enumeration
此属性指定线高类型:
Text.ProportionalHeight (默认值)-设置与行成比例的间距(作为乘数)。例如,设置值为2表示双倍间距。
Text.FixedHeight 将行高设置为固定杭盖(以像素为单位)。 - linkColor: color
文本项中链接的颜色。 - maximumLineCount: int
设置此属性来限制文本项显示的行数。
此属性不支持富文本。 - minimumPixelSize: int
获取文本最小像素大小。 - minimumPointSize: int
获取文本最小字体点大小。 - padding: real
- renderType: enumeration
设置渲染类型。
支持的渲染类型:
Text.QtRendering
Text.NativeRendering
如果希望文本在目标平台上看起来是本机的,并且不需要高级功能(如文本转换),请选择Text.NativeRendering。 - rightPadding: real
- style: enumeration
设置其他文字样式。
样式:
Text.Normal - 默认
Text.Outline
Text.Raised
Text.Sunken
示例:
Row {
Text { font.pointSize: 24;
text: "Normal" }
Text { font.pointSize: 24;
text: "Raised";
style: Text.Raised;
styleColor: "#AAAAAA" }
Text { font.pointSize: 24;
text: "Outline";
style: Text.Outline;
styleColor: "red" }
Text { font.pointSize: 24;
text: "Sunken";
style: Text.Sunken;
styleColor: "#AAAAAA" }
}
示例结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JAL3hEOt-1594801552614)(leanote://file/getImage?fileId=5f0cff8f50f7571d32000003)]
- styleColor: color
定义文本样式使用的辅助颜色。
styleColor用作文本的轮廓颜色,以及轮廓凸起或凹陷的阴影颜色。如果未设置style,则该属性无效。
Text { font.pointSize: 18;
text: "hello";
style: Text.Raised;
styleColor: "gray" }
- text: string
要显示的文本内容。文本支持纯文本字符串和富文本字符串。
该文本会自动校验是否为样式文本,使用Qt::mightBeRichText()来校验。 - textFormat: enumeration
设置文本显示格式类型。
内容 | 注释 |
---|---|
Text.AutoText | (默认值)通过Qt::mightBeRichText()校验 |
Text.PlainText | 所有样式视为纯文本 |
Text.StyledText | 和HTML3.2一样,优化基本富文本 |
Text.RichText | HTEML4的子集 |
Text.MarkdownText | CommonMark以及表格和任务列表的Github扩展(从5.14开始) |
HTML3.2样式中的一些基本文本样式标记:
- bold
- strike out (removed content)
- strike out (no longer accurate or no longer relevant content)
- bold
- italic
- new line - paragraph
- underlined text
to- headers
- anchor
文章图片
- inline images
, and - - ordered and unordered lists
- preformatted
>
<
&
Text.StyledText解析器很严格,要求标签正确嵌套。
Column {
Text {
font.pointSize: 24
text: "Hello World!"
}
Text {
font.pointSize: 24
textFormat: Text.RichText
text: "Hello World!"
}
Text {
font.pointSize: 24
textFormat: Text.PlainText
text: "Hello World!"
}
Text {
font.pointSize: 24
textFormat: Text.MarkdownText
text: "**Hello** *World!*"
}
}
【QML类型——Text】结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f20yJFkx-1594801552616)(leanote://file/getImage?fileId=5f0d03ac50f7571d32000004)]
- topPadding: enumeration
- truncated: bool
如果文本被maximumLineCount或elide属性截断,则返回true。
富文本格式不支持。 - verticalAlignment: enumeration
- wrapMode: enumeration
设置此属性可将文本换行显示。(仅当设置了显示宽度时,才会生效)
枚举值:
Text.NoWrap - (默认)不支持换行。
Text.WordWrap - 如果单词太长,超过显示边界,则将该单词换行。
Text.WrapAnywhere - 支持任意字符的换行。
Text.Wrap - 一般换行发生在单词边界处;特殊情况下发生在单词中间。
- lineLaidOut(line)
对于在纯文本或带样式的文本模式下的布局过程中,布局每一行都会发送该信号。
富文本格式不会发送该信号。
作用:使每一行都能在布局中调整其位置和大小。
参数line的属性有:
|属性名|描述|
|–|--|
|number|行号,从0开始计数|
|x|指定行在Text元素内的X位置|
|y|指定行在Text元素内的Y位置|
|width|指定行的宽度|
|height|指定行的高度|
示例:将前5行向右移动100个像素(对应的处理函数:onLineLaidOut)
onLineLaidOut: {
if (line.number < 5) {
line.x = line.x + 100
line.width = line.width - 100
}
}
- linkActivated(link)
当用户单击文本中嵌入的链接时,将发送该信号。
链接必须是富文本或HTML格式,并且链接字符串提供对特定链接的访问。
Text {
textFormat: Text.RichText
text: "See the Qt Project website."
onLinkActivated: console.log(link + " link activated")
}
- linkHovered(link)
当鼠标悬停在文本中嵌入的链接时,将发送该信号。
链接必须是富文本或HTML格式,并且链接字符串提供对特定链接的访问。
- forceLayout()
触发所显示的文本重新布局。 - linkAt(real x, real y)
返回位于(x,y)点处的链接字符串,如果该点不存在链接,则返回一个空字符串。
推荐阅读
- Qt|Qt官方示例-QML Axes
- Qml 实现一个简单的SplashScreen
- QML|如何在QML应用中实现一个Splash画面
- QML|如何在QML应用中启动Scope
- arduino|【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用
- python|DIY制作炫彩灯球
- html|2020年这个副业,能让你彻底告别死工资,你敢试吗()
- QML程序打包、发布(windeployqt)
- qml|走访近20家代工厂后(近千块的大牌T恤,成本只要几十块)