一、描述
TextInput 类型显示一行可编辑的纯文本。
二、属性成员
1、acceptableInput : bool
除非设置了验证器或输入掩码,否则此属性始终为真。
2、autoScroll : bool
文本太长时 TextInput 是否应该滚动。默认为 true。
3、displayText : string
显示的文本。
如果 echoMode 设置为 TextInput::Normal,则它与 text 属性保持相同的值。 否则,此属性保存用户可见的文本,而 text 属性保存实际输入的文本。
4、echoMode : enumeration
指定文本在 TextInput 中的显示方式。
- TextInput.Normal:按原样显示文本。 (默认)
- TextInput.Password:显示平台相关的密码掩码字符而不是实际字符。
- TextInput.NoEcho:不显示任何内容。
- TextInput.PasswordEchoOnEdit:显示编辑时输入的字符,否则与 TextInput.Password 相同。
5、inputMask : string
置输入掩码,限制允许的文本输入。掩码字符串与 QLineEdit::inputMask 完全相同的。
6、maximumLength : int
允许的最大文本长度。如果文本太长,它会在限制处被截断。默认为 32767。
7、passwordCharacter : string
当 echoMode 设置为 Password 或 PasswordEchoOnEdit 时显示的字符。默认情况下,它是平台主题使用的密码字符。
如果此属性设置为包含多个字符的字符串,则使用第一个字符。
如果字符串为空,则忽略该值并且不设置该属性。
8、passwordMaskDelay : int
设置可见字符被密码字符屏蔽之前的延迟,以毫秒为单位。
9、validator : Validator
验证器。当设置验证器时,TextInput 将只接受使 text 属性处于可接受或中间状态的输入。仅当按下 Enter 时文本处于可接受状态时,才会发送 accepted() 信号。
允许将 11 到 31 之间的整数输入到文本输入中:
import QtQuick 2.0
TextInput
{
validator: IntValidator{bottom: 11; top: 31;}
focus: true
}
三、属性成员
1、accepted()
当按下 Return 或 Enter 键时会发出此信号。请注意,如果在文本输入上设置了 validator 或 inputMask,则仅当输入处于可接受状态时才会发出信号。
2、textEdited()
每当编辑文本时都会发出此信号。
当以编程方式更改文本时不会发出此信号,例如,通过更改 text 属性的值或调用 clear()。
四、成员函数
1、ensureVisible(int position)
滚动文本输入的内容,以便指定的字符位置在文本输入的边界内可见。
2、int positionAt(real x, real y, CursorPosition position)
返回最接近像素位置 (x, y) 的文本位置。
位置 0 在第一个字符之前,位置 1 在第一个字符之后但在第二个字符之前,依此类推,直到位置 text.length,即所有字符之后。
参数3指定应如何解析光标位置:
- TextInput.CursorBetweenCharacters:返回最接近 x 的字符之间的位置。默认值。
- TextInput.CursorOnCharacter:返回最接近 x 的字符之前的位置。