qml text元素

Text
显示的文本信息,只读,支持纯文本和富文本

属性
baseUrl : url
设置基础url


bottomPadding : real
距离容器底部的间距
QtQuick 2.7引入,之前的版本不能使用

clip : bool
文本内容是否会被裁剪
属性值为true时,容器宽度不够会将文本内容裁剪
属性值为false时,容器宽度不够不会裁剪,显示完整的文本内容

color : color
文字的颜色

contentHeight : real
返回文本的高度

contentWidth : real
返回文本的宽度

effectiveHorizontalAlignment : enumeration
返回有效的水平对齐方式,只读

elide : enumeration
显示的文本超出了width时以…的方式进行显示,设置显示的具体样式

Window {
visible: true
width: 320
height: 240
title: qsTr("测试Text元素")

Column
{
anchors.fill: parent
spacing: 10

Text {
text: "abcdefghijklmnopqrstuvwxyz"
width: 50
font.pointSize: 16
elide: Text.ElideNone
}
Text {
text: "abcdefghijklmnopqrstuvwxyz"
width: 50
font.pointSize: 16
elide: Text.ElideLeft
}
Text {
text: "abcdefghijklmnopqrstuvwxyz"
width: 50
font.pointSize: 16
elide: Text.ElideMiddle
}
Text {
text: "abcdefghijklmnopqrstuvwxyz"
width: 50
font.pointSize: 16
elide: Text.ElideRight
}
}
}

显示的样式:


font.bold : bool
设置字体加粗

font.capitalization : enumeration
设置字体大小写:
Font.MixedCase 正常显示
Font.AllUppercase 设置为大写字母
Font.AllLowercase 设置为小写字母
Font.SmallCaps 设置为缩小的大写字母(英文整体字体变小)
Font.Capitalize 设置单词首字母大写,其他小写

font.family : string
设置字体样式

font.italic : bool
设置是否为斜体

font.letterSpacing : real
设置字符之前的间距

font.pixelSize : int
以像素为单位设置字体大小。
使用此功能,使字体依赖设备。

font.pointSize : int
以点为单位设置字体大小,点的大小必须是大于零。
使用此功能,独立于设备

font.strikeout : bool
是否在字符中添加横线(删除线)

font.styleName : string
设置样式名称
在Qt5.6中引入

font.underline : bool
是否添加下划线

font.weight : enumeration
设置字体宽度

Window {
visible: true
width: 320
height: 240
title: qsTr("测试Text元素")

Column
{
anchors.fill: parent
spacing: 10

Text {
text: "hello world"
font.weight: Font.Light
}
Text {
text: "hello world"
font.weight: Font.Normal
}
Text {
text: "hello world"
font.weight: Font.DemiBold
}
Text {
text: "hello world"
font.weight: Font.Bold
}
Text {
text: "hello world"
font.weight: Font.Black
}
}
}

显示效果:


font.wordSpacing : real
设置每个单词之间的间距,正数增加间距,负数减小间距

fontSizeMode : enumeration
此属性指定显示的文字的字体大小来确定。可能的值有:
Text.FixedSize (默认值) - 使用的大小由font.pixelSize或font.pointSize指定。
Text.HorizontalFit - 最大尺寸到指定的大小,适合该项目的宽度使用。
Text.VerticalFit - 最大尺寸到指定的大小,适合该项目的高度使用。
Text.Fit - 最大尺寸的大小指定的宽度和高度。
合身的文字的字体大小有一个由minimumPointSize或minimumPixelSize指定的最小限制和font.pointSize或font.pixelSize指定的最大限制属性。
如果文本不适合最小显示,则文本将被省略。

horizontalAlignment : enumeration
设置文本水平对齐方式

hoveredLink : string
返回link

leftPadding : real
距离容器左侧的间距

lineCount : int
返回行数,此属性不支持富文本。另见maximumLineCount

lineHeight : real
设置文本的行高,只能为正数。
值可以是间距的倍数,也可以是像素,取决于lineHeightMode

lineHeightMode : enumeration
Text.ProportionalHeight (默认),设置行间距的倍数
Text.FixedHeight 设置行高为一个固定的高度值(像素)

linkColor : color
设置超链接文本的字体颜色

maximumLineCount : int
设置此属性将闲置文本的显示行数。
如果elide被设置为Text.ElideRight,文本将被适当的省略。
默认情况下,这个值可能是最大正数,且不支持富文本。

minimumPixelSize : int
指定文本的最小像素,依赖于fontSizeMode属性。
如果fontSizeMode为Text.FixedSize,或者font.pixelSize为-1,则忽略此属性。

minimumPointSize : int
指定文本的最小点大小,依赖于fontSizeMode属性。
如果fontSizeMode为Text.FixedSize,或者font.pointSize为-1,则忽略此属性。

padding : real
设置文本周围的间距
在Qt5.6中引入(QtQuick 2.7)

renderType : enumeration
如果需要特殊的渲染文本的,则选择Text.NativeRendering值
默认为Text.QtRendering

rightPadding : real
设置文本到容器右侧的间距

style : enumeration
设置字体样式

Window {
visible: true
width: 380
height: 240
title: qsTr("测试Text元素")

Column
{
anchors.fill: parent
spacing: 10

Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 16
style: Text.Normal
styleColor: "red"
}
Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 16
style: Text.Outline
styleColor: "red"
}
Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 16
style: Text.Raised
styleColor: "red"
}
Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 16
style: Text.Sunken
styleColor: "red"
}
}
}

显示效果


styleColor : color
字体样式的颜色

text : string
设置显示的文本内容

textFormat : enumeration
设置文本的格式,具体值如下:
Text.AutoText (默认)
Text.PlainText
Text.StyleText
Text.RichText
如果文本格式是Text.AutoText,文本项会自动判断是否应被视为样式文本。这决定于是否使用Qt:: mightBeRichText()它采用了快速,简单的方式。主要检查第一行前终止是否有看起来像标签一样的东西。虽然通常情况下其结果可能是正确的,但也不能保证。
Text.StyledText是一个优化的格式,支持一些基本的文本样式的标记,在HTML3.2的风格中:
如果文本格式是Text.AutoText,文本项会自动判断是否应被视为样式文本。这决定于是否使用Qt:: mightBeRichText()它采用了快速,简单的方式。主要检查第一行前终止是否有看起来像标签一样的东西。虽然通常情况下其结果可能是正确的,但也不能保证。
Text.StyledText是一个优化的格式,支持一些基本的文本样式的标记,在HTML3.2的风格中:

Window {
visible: true
width: 380
height: 240
title: qsTr("测试Text元素")

Column
{
anchors.fill: parent
spacing: 10

Text
{
font.pointSize: 20
text: "<b>Hello</b> <i>World!</i>"
}
Text
{
font.pointSize: 20
textFormat: Text.StyledText
text: "<b>Hello</b> <i>World!</i>"
}
Text
{
font.pointSize: 20
textFormat: Text.RichText
text: "<b>Hello</b> <i>World!</i>"
}
Text
{
font.pointSize: 20
textFormat: Text.PlainText
text: "<b>Hello</b> <i>World!</i>"
}
}
}

显示效果如下:

Text.RichText支持HTML4的较大子集,支持的HTML子集页面。应该更喜欢使用Text.PlainText或Text.StyledText代替,因为它们提供了更好的性能。
topPadding : real
设置文本到容器顶部的间距

truncated : bool
如果由maximumLineCount或elide属性,文本被截断则返回true

verticalAlignment : enumeration
设置垂直对齐方式

wrapMode : enumeration
设置文本换行的方式:
Text.NoWrap (默认)不换行,设置了文本宽度后,会导致文本被截取
Text.WordWrap 如果这个单词超过了宽度,则在下个单词进行换行
Text.WrapAnywhere 只要超过了宽度就立马换行,即使在单词内部
Text.Wrap 在单词边界(单词后的空白格),以及在单词内部,只要超过宽度就换行

Window {
visible: true
width: 480
height: 480
title: qsTr("测试Text元素")

Column
{
anchors.fill: parent
spacing: 10

Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 20
wrapMode: Text.WordWrap
width: 100
}
Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 20
wrapMode: Text.WrapAnywhere
width: 100
}
Text
{
text: "abcdefgh ijklmnopqrstuvwxyz测试"
font.pointSize: 20
wrapMode: Text.Wrap
width: 100
}
}
}

显示效果如下:

————————————————
原文链接:https://blog.csdn.net/u011330815/article/details/81480023

posted @ 2022-05-27 10:29  Azuki_op  阅读(445)  评论(0编辑  收藏  举报