QML类型:TextEdit

一、描述

TextEdit 项显示可编辑的格式化文本块。

TextEdit 不实现滚动、跟随光标或其他特定于外观的行为。

二、属性成员

1、bottomPadding : real

      leftPadding : real

      padding : real

      rightPadding : real

      topPadding : real

包含内容周围的填充。即除了 contentWidth contentHeight 之外,保留的空间。

2、effectiveHorizontalAlignment : enumeration 只读属性,用作查询有效的水平对齐方式

      horizontalAlignment :enumeration

      verticalAlignment : enumeration

宽度和高度内设置文本的水平和垂直对齐方式。

horizontalAlignment 的有效值为:

  • TextEdit.AlignLeft(默认)
  • TextEdit.AlignRight
  • TextEdit.AlignHCenter
  • TextEdit.AlignJustify

verticalAlignment 的有效值为:

  • TextEdit.AlignTop(默认)
  • TextEdit.AlignBottom
  • TextEdit.AlignVCenter

当使用附加属性 LayoutMirroring::enabled 来镜像应用程序布局时,文本的水平对齐也将被镜像。但是,horizontalAlignment 属性将保持不变。

3、activeFocusOnPress : bool

是否应该在鼠标按下时获得活动焦点。默认为 true。

4、baseUrl : url

此属性指定用于解析文本中的相对 URL 的基本 URL。

5、canPaste : bool

TextEdit 是否可写并且剪贴板的内容适合粘贴到 TextEdit 中。

6、canRedo : bool

TextEdit 是否可写并且有可以重做(回撤)的撤消操作。

7、canUndo : bool

TextEdit 是否可写并且存在可以撤消的先前操作。

8、color : color

文本颜色。

9、contentHeight : real

      contentWidth : real

返回文本的高度,如果文本不适合设置的高度,则包括超过被覆盖高度的高度。/ 

返回文本的宽度,包括超过宽度的宽度。

10、cursorDelegate : Component

TextEdit 中光标的委托。

如果为 TextEdit 设置 cursorDelegate,则此委托将用于绘制光标而不使用标准光标。

请注意,委托组件的根项必须是 QQuickItem QQuickItem 派生项。

11、cursorPosition : int

光标在文本编辑中的位置。

12、cursorRectangle : rectangle

在文本编辑中呈现标准文本光标的矩形。只读属性。

自定义 cursorDelegate 位置高度会在此属性更改(用户不能直接更改)时随之更新,宽度不受光标矩形变化的影响。

13、cursorVisible : bool

光标是否可见。

14、inputMethodComposing : bool

判断是否具有来自输入法的部分文本输入。只读属性。

15、inputMethodHints : enumeration

向输入法提供有关文本编辑的预期内容及其操作方式的提示。

改变行为的标志:

  • Qt.ImhHiddenText:应该隐藏字符,通常在输入密码时使用。
  • Qt.ImhSensitiveData:输入法不应将键入的文本存储在任何持久性存储中。
  • Qt.ImhNoAutoUppercase:当句子结束时,输入法不应尝试自动切换为大写。
  • Qt.ImhPreferNumbers:首选数字(但不是必需的)。
  • Qt.ImhPreferUppercase:首选大写字母(但不是必需的)。
  • Qt.ImhPreferLowercase:首选小写字母(但不是必需的)。
  • Qt.ImhNoPredictiveText:键入时不要使用预测文本(即字典查找)。
  • Qt.ImhDate:文本编辑器用作日期字段。
  • Qt.ImhTime:文本编辑器用作时间字段。

限制输入的标志(独占标志):

  • Qt.ImhDigitsOnly:只允许数字。
  • Qt.ImhFormattedNumbersOnly:只允许输入数字。这包括小数点和减号。
  • Qt.ImhUppercaseOnly:只允许输入大写字母。
  • Qt.ImhLowercaseOnly:只允许输入小写字母。
  • Qt.ImhDialableCharactersOnly:只允许使用适合电话拨号的字符。
  • Qt.ImhEmailCharactersOnly:只允许适合电子邮件地址的字符。
  • Qt.ImhUrlCharactersOnly:只允许输入适合 URL 的字符。

值掩码:

  • Qt.ImhExclusiveInputMask:如果使用任何独占标志,加上此掩码将产生非零值。

16、length : int

返回 TextEdit 项中纯文本字符的总数。

由于此数字不包含任何格式标记,因此它可能与 text 属性返回的字符串长度不同。

此属性比查询 text 属性的长度更快,因为它不需要对 TextEdit 的内部字符串数据进行任何复制或转换。

17、lineCount : int

返回 TextEdit 项目中的总行数。

18、mouseSelectionMode : enumeration

指定使用鼠标选择文本的模式。此属性仅在 selectByMouse 为 true 时适用。

  • TextEdit.SelectCharacters:选择更新为单个字符。 (默认)
  • TextEdit.SelectWords:选择更新为整个单词。

19、overwriteMode : bool

用户输入的文本是否会覆盖现有文本。默认为 false。

(实际发现此属性设置只有对中文无效)

20、persistentSelection : bool

当失去活动焦点时,它是否应该保持选择可见。默认为 false。

21、preeditText : string

包含来自输入法的部分文本输入。

22、readOnly : bool

用户是否可以与 TextEdit 项目交互。如果为 true,则用户交互无法编辑文本。默认为 false。

23、selectByKeyboard : bool

当编辑器可编辑时默认为 true,只读时默认为 false。

如果为 true,即使编辑器是只读的,用户也可以使用键盘选择文本。如果为 false,即使编辑器可编辑,用户也无法使用键盘选择文本。

24、selectByMouse : bool

用户是否可以使用鼠标以某种特定于平台的方式选择文本。默认为false。

25、selectedText : string

只读属性,提供当前在文本编辑中选择的文本。

26、selectedTextColor : color

选定的文本颜色。

27、selectionColor : color

文本高亮颜色。

28、selectionStart : int

        selectionEnd : int

只读属性,当前选择中第一个字符之前 / 最后一个字符之后的光标位置。

29、tabStopDistance : real

制表位之间的默认距离。

30、text : string

要显示的文本。

31、textDocument : TextDocument

返回此 TextEdit 的 QQuickTextDocument

32、textMargin : real

文本周围的边距(以像素为单位)。

三、信号成员

1、editingFinished()

当文本编辑失去焦点时发出此信号。对应的处理程序是 onEditingFinished

四、成员函数

1、void append(string text)

将带有文本的新段落附加到末尾。

若要在不插入新段落的情况下追加,调用 myTextEdit.insert(myTextEdit.length, text)。

2、clear()

清除文本编辑的内容并重置从输入法输入的部分文本。

建议清空 TextEdit 时使用此方法而不是将 text 属性设置为空字符串。

3、copy()

将当前选定的文本复制到系统剪贴板。

4、cut()

将当前选定的文本移动到系统剪贴板。

5、deselect()

移除活动文本选择(取消选择)。

6、string getFormattedText(int start, int end)

返回位于开始和结束位置间的文本部分。返回的文本将根据 textFormat 属性进行格式化。

7、string getText(int start, int end)

返回位于开始和结束位置之间的文本部分。返回的文本不包括任何富文本格式。

8、insert(int position, string text)

将文本插入 position 位置。

9、isRightToLeft(int start, int end)

在位置 start 和 end 之间找到的文本的自然阅读方向是否从右到左。

10、moveCursorSelection(int position, SelectionMode mode)

根据可选的模式参数将光标移动到位置并更新选择。 (要仅移动光标,请设置 cursorPosition 属性。)

调用此方法时,它还会将 selectionStart selectionEnd(以前一个光标位置为准)设置为指定位置。这可以轻松扩展和收缩选定的文本范围。

选择模式指定是按字符还是按单词更新选择。如果未指定,将默认为 TextEdit.SelectCharacters

cursorPosition = 5
moveCursorSelection(9, TextEdit.SelectCharacters)
moveCursorSelection(7, TextEdit.SelectCharacters)

上面的代码会将光标移动到位置 5,将选择端从 5 扩展到 9,然后将选择端从 9 缩回到 7,从而选择位置 5 到 7 的文本(第 6 个和第 7 个字符)。

与 TextEdit.SelectWords 相同的序列会将选择开始扩展到位置 5 之前或上的单词边界,并将选择结束扩展到位置 9 上或之后的单词边界。

11、paste()

用系统剪贴板的内容替换当前选定的文本。

12、int positionAt(int x, int y)

返回最接近像素位置 (x, y) 的文本位置。

位置 0 在第一个字符之前,位置 1 在第一个字符之后但在第二个字符之前,依此类推,直到位置 text.length,即所有字符之后。

13、rectangle positionToRectangle(position)

返回文本中position位置的矩形。 x、y 和高度属性对应于将描述该位置的光标。

14、redo()

如果重做可用,则重做上一个操作。

15、string remove(int start, int end)

删除位于开始位置和结束位置之间的文本部分。

16、select(int start, int end)

使文本从开始位置到结束位置被选中。如果开始结束超出范围,则不会更改选择。

调用后,selectionStart 将变小,selectionEnd 将变大(无论传递给此方法的顺序如何)。

17、selectAll()

 选择所有文本。

18、selectWord()

选择最接近当前光标位置的单词。

19、undo()

如果撤消可用,则撤消上一个操作。取消任何当前选择,并将 selectionStart 更新到当前光标位置。

其他属性、信号、函数可参考 Text

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值