本文主要介绍基本元素TextInput, TextField, TextEdit, TextArea等的基本属性。
1) 行编辑
Qt Quick提供了两个行编辑控件,即Textlnput与TextField。
A) TextInput
TextInput用于编辑一行文本,类似于QLineEdit。支持使用validator或inputMask对输入
文本做范围限制。
Textlnput目前支持IntValidator、DoubleValidator、RegExpValidator,如果你设置了validator的属性,用户只能输入validator所界定范围的字符。
inputMask是个字符串,用来限制你可以输入的字符,可以参考QLineEdit::inputMask来
了解详情。掩码串内包含允许的字符和分隔符,后面还可以跟一个可选的分号,以及一个用
上补空白的字符。例如“2016-12-23”。
TextInput可以设置echoMode实现密码框的效果。
假如你想使用Textlnput来输入密码,可以设置echoMode属性为 Textlnput.Password,
TextInput.PasswordEchoOnEdit或TextInput.NoEcho,而echoMode默认为TextInput.Normal ,
即输入什么显示什么。如果echoMode不为Textlnput.Normal,那么displayText属性就保存显
示给用户的文本,而text属性则保存实际输入的文本,比如你设定passwordCharacter为"*",
echoMode为TextInput.Password,那么displayText属性内保存的就是一串"*"。
font分组属性允许你设置TextInput元素所用字体的各种属性,包括字体族(family )、大
小(pixelSize. pointSize)、粗细(bold, weight)、斜体(italic)、下划线(underline)等。与Text属性一样,text可以获取到元素的文本,
horizontalAlignment和verticalAlignment用于设定文本对齐方式,wrapMode设置文本超过控件宽度时换行策略,color设置文字颜色,
contentWidth , contentHeight返回文本的宽、高。
不过,TextInput不支持使用HTML标记的富文本。
length属性返回编辑框内的字符个数,使用它比通过text属性取得文本再调用String对
象的length方法效率要高很多。maximumLength设置编辑框允许输入的字符串的最人长度,
超过这个长度就会被截断。
TextInput的cursor就是光标,
可以通过cursorDelegate来定制它的外观,而QLineEdit的cursor样子很难定制。
cursorPosition可以设置或返回光标位置;cursorVisible设置或返回光标的可见状态。