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/qq21497936/article/details/78547722
http://blog.sina.com.cn/s/blog_a6fb6cc90101g8ug.html
上一篇: Qt quick控件实例
下一篇: 提交表单到新窗口
推荐阅读