欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QML之Text元素

程序员文章站 2022-05-30 22:49:34
...

Text

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

属性

baseUrl : url

设置基础url
QML之Text元素

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
        }
    }
}

显示的样式:
QML之Text元素

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
        }
    }
}

显示效果:
QML之Text元素

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"
        }
    }
}

显示效果
QML之Text元素

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>"
        }
    }
}

显示效果如下:
QML之Text元素
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
        }
    }
}

显示效果如下:
QML之Text元素

参考如下:
https://blog.csdn.net/qq21497936/article/details/78547722
http://blog.sina.com.cn/s/blog_a6fb6cc90101g8ug.html

相关标签: QML