[基础]qml基础控件(Text)
1,Text
Text元素可以显示纯文本或者富文本(使用HTML标记修饰的文本)。它有font,text,color,elide,textFormat,wrapMode,horizontalAlignment,verticalAlignment等属性。
主要看下clip,elide,textFormat,warpMode属性
clip
Text 项目是可以设置宽度的,当里面的文本内容超出 Text 的宽度时,可以使用 clip 属性设置文本是否被裁剪。
Column{anchors.centerIn: parentspacing: 5Rectangle {width: 186; height: 30color: "lightblue"Text {text: "hello qt! Hello World!"font.pointSize: 15}}Rectangle {width: 186; height: 30color: "lightblue"Text {text: "hello qt! Hello World!"font.pointSize: 15width: 186clip: true}}Rectangle {width: 186; height: 30color: "lightgreen"Text {anchors.centerIn: parenttext: "hello qt! Hello World!"font.pointSize: 15clip: true}}Rectangle {width: 186; height: 30color: "lightgreen"clip: trueText {anchors.centerIn: parenttext: "hello qt! Hello World!"font.pointSize: 15}}}
运行效果如下图所示:
![](/assets/blank.gif)
clip独自使用无效要搭配width
elide
如果使用 clip 属性,当文本超出边界后会被突然截断,这样可能在边界只显示了单词或字母的局部,非常不友好。在 Text 中还提供了 elide 属性,可以通过省略文本的部分内容来匹配文本的宽度,其取值包括Text.ElideNone (默认)、Text.ElideLeft、Text.ElideMiddle 和 Text.ElideRight ,需要注意的是,该属性也是在设置了 Text 宽度时才有作用。下面看一段示例代码:
Column{anchors.centerIn: parentspacing: 5Rectangle {width: 186; height: 30color: "lightblue"Text {width: 186text: qsTr("hello qt! Hello World!文本省略")font.pointSize: 15elide: Text.ElideLeft}}Rectangle {width: 186; height: 30color: "lightblue"Text {width: 186text: qsTr("hello qt! Hello World!文本省略")font.pointSize: 15elide: Text.ElideMiddle}}Rectangle {width: 186; height: 30color: "lightblue"Text {width: 186text: qsTr("hello qt! Hello World!文本省略")font.pointSize: 15elide: Text.ElideRight}}
}
运行效果如下图所示:
![](/assets/blank.gif)
wrapMode
对于过长的文本,除了进行省略以外,也可以使用 wrapMode 来设置换行,可用的换行模式包括:Text.NoWrap (默认) 、Text.WordWrap、Text.WrapAnywhere 和Text.Wrap。当设定了 Text 的高度 height,或者最大行数 maximumLineCount 后,换行和省略可以同时使用。下面来看一个例子,在前面代码的基础上继续添加如下代码:
Rectangle {width: 186; height: 50color: "lightgreen"Text {width: 186text: qsTr("hello qt! Hello World!文本换行")font.pointSize: 15wrapMode: Text.WordWrap}
}Rectangle {width: 186; height: 50color: "lightgreen"Text {width: 186text: qsTr("hello qt! Hello World!文本换行")font.pointSize: 15wrapMode: Text.WrapAnywhere}
}Rectangle {width: 186; height: 50color: "lightgreen"Text {width: 186; height: 50text: qsTr("hello qt! Hello World!文本换行的同时也可以省略")font.pointSize: 15wrapMode: Text.WrapAnywhereelide: Text.ElideRight}
}
运行效果如下图所示:
![](/assets/blank.gif)
Style
使用 Text 的 style 属性可以设置文本的样式,包括:Text.Normal(默认)、Text.Outline、Text.Raised 和 Text.Sunken ,下面是示例:
Row { spacing: 10Text { font.pointSize: 24; text: "Normal" }Text { font.pointSize: 24; text: "Raised"; color: "white"style: Text.Raised; styleColor: "blue" }Text { font.pointSize: 24; text: "Outline";style: Text.Outline; styleColor: "red" }Text { font.pointSize: 24; text: "Sunken"; color: "white"style: Text.Sunken; styleColor: "black" }
}
运行效果如下图所示:
![](/assets/blank.gif)
对齐方式
当设置了 Text 的宽度和高度以后,可以通过 horizontalAlignment 和 verticalAlignment 来设置文本内容的对齐方式,水平方向包括:Text.AlignLeft、 Text.AlignRight、 Text.AlignHCenter 和 Text.AlignJustify;垂直方向包括:Text.AlignTop、 Text.AlignBottom 和 Text.AlignVCenter 。下面是示例代码:
Rectangle {width: 300; height: 50color: "gold"Text {width: 300; height: 50text: qsTr("hello qt! Hello World!")font.pointSize: 15horizontalAlignment: Text.AlignHCenterverticalAlignment: Text.AlignBottom}
}
运行效果如下图所示:
![](/assets/blank.gif)
textFormat
Text 项目除了显示纯文本以外,也可以显示富文本。通过 textFormat 属性可以设置文本格式,包括:
Text.AutoText (默认):自动判断以什么样式来进行显示;
Text.PlainText:以纯文本进行显示;
Text.StyledText:是一种支持基本文本样式标签的优化格式
Text.RichText:可以显示富文本,支持 HTML 4 规范的标签,具体支持的标签内容可以在帮助 Supported HTML Subset 文档种进行查看。为了获取更好的性能,建议使用 Text.PlainText 或 Text.StyledText 。
当不指定textFormat属性时,Text元素默认使用Text.AutoText,它会自动检测文本是纯文本还是富文本,如果你明确知道要显示的是富文本,则可以显示指定textFormat属性。
Text {font.pointSize: 24text: "<b>Hello</b> <i>World!</i>"
}
Text {font.pointSize: 24textFormat: Text.StyledTexttext: "<b>Hello</b> <i>World!</i>"
}
Text {font.pointSize: 24textFormat: Text.RichTexttext: "<b>Hello</b> <i>World!</i>"
}
Text {font.pointSize: 24textFormat: Text.PlainTexttext: "<b>Hello</b> <i>World!</i>"
}
运行效果如下图所示:
![](/assets/blank.gif)
[基础]qml基础控件(Text)相关推荐
- Html学习:基础属性和控件
Html学习:第一课 html基础属性和控件 HTML代表超文本标记语言 HTML 是用于创建网页的标准标记语言 HTML 描述网页的结构 HTML由一系列元素组成 HTML 元素告诉浏览器如何显示内 ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) ....
可视化webpart基础开发--TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 作者:miragesky2049 原文地址:http://blog.csdn.net/mirages ...
- QML树控件TreeView的使用(上)
在Qt5.5之前是没有树控件的,我们在使用时用的是ListView来构造出一个树,Qt5.5之后的QML开发阶段,有了树控件TreeView,本篇着重记录QML的TreeView的使用.根据MVC分解 ...
- iOS SwiftUI篇-2 UI控件 Text Button Image List
iOS SwiftUI篇-2 UI控件 Text Button Image List Text 显示文本,相当于UILabel import SwiftUIstruct TextContentView ...
- 遍历WinForm窗体 根据语言类型设置其控件Text显示
示例内容: Form1 中 有一个Label1 中文时显示 " 姓名:" 英文时显示 " Name: " 开发时 默认显示为 " ...
- python tkinter库Entry控件Text控件
Entry控件是用来输入文本的(单行输入控件) Entry类构造方法的show关键字参数指定录入文本是回显某个字符 Text控件是用来输入文本的(多行文本,图像,富文本等) 下面实例有Entry控件 ...
- Flutter基础之部分控件学习
主要看几个常用的使用控件: main.dart 代码,下面常用 Widget 示例的代码. import 'package:flutter/material.dart';void main() =&g ...
- Android Studio开发基础之AutoCompleteTextView控件的使用
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的.AutoCompleteTextView控件继承自Text ...
- qml 时间控件_Qt编写自定义控件54-时钟仪表盘
一.前言 这个控件没有太多的应用场景,主要就是练手,论美观的话比不上之前发过的一个图片时钟控件,所以此控件也是作为一个基础的绘制demo出现在Qt源码中,我们可以在Qt的安装目录下找到一个时钟控件的绘 ...
最新文章
- AQS(CountdownLatch、CyclicBarrier、Semaphore)、FutureTask、BlockingQueue、ForkJoin
- 虚拟研讨会:.NET的未来在哪里?
- 运算符与,|与||的区别
- 正则表达式**************************
- Java 多线程 简单实例 (Thread)
- 计算机组成和计算机体系结构区别
- [免费专栏] Android安全之绕过SSL Pinning抓HTTPS数据
- 屏幕录像专家V2014(附注册码)
- 信息系统项目管理师必背核心考点(二十六)三点估算(PERT)
- 利用感应加热原理,3秒即可烧红铁棒!
- ubuntu8.10显卡驱动安装(8500gt)
- android系统支持4T硬盘吗,电脑是否有可能,支持3T硬盘,但不支持4T硬盘
- 知物由学 | Android应用破解与防护,阻断猖獗的应用乱象
- 瞬时: lnstant
- html为图片设置边框
- UVM-TLM机制解读
- 鼠标每隔几秒失去焦点,鼠标每隔几秒转圈,鼠标每隔几秒刷新
- 汽车理论复习提纲自取(机械的朋友们)
- 罗昭锋 文献管理与信息分析一
- R语言【简单相关系数、散布矩阵图和偏相关系数、典型相关分析】