Skip to content
slint
import { TextEdit, VerticalBox } from "std-widgets.slint";export component Example inherits Window {    width: 200px;    height: 200px;
    VerticalBox {        TextEdit {            font-size: 14px;            text: "Lorem ipsum dolor sit amet,\n consectetur adipisici elit";        }    }}

std-widgets textedit example

类似于 LineEdit,但可用于输入多行文本

属性

font-size

length default: 0px

输入文本的字体大小。

font-family

string default: ""

选择用于渲染文本的字体族名称。

font-italic

bool default: false

输入文本字体的斜体状态

text

string (in-out) default: ""

正在编辑的文本

slint
TextEdit {    text: "Initial text";}

has-focus

bool (out) default: false

当该控件当前拥有焦点时设置为 true。

enabled

bool default: true

当为 false 时,无法输入任何内容。

read-only

bool default: false

当设置为 true 时,通过键盘和鼠标进行的文本编辑被禁用,但仍可以选择文本,也可以通过编程方式编辑文本。

wrap

enum TextWrap default: the first enum value

文本换行方式(默认:按词换行)。

TextWrap

此枚举描述当文本宽度超过 TextStyledText 元素宽度时文本的换行方式。

  • no-wrap:文本将不换行,而是会溢出。
  • word-wrap:如果可能,文本将在词边界处换行;如果是过长的单词,则在任何位置换行。
  • char-wrap:文本将在任意字符处换行。目前仅 Qt 和软件渲染器支持。

horizontal-alignment

enum TextHorizontalAlignment default: the first enum value

文本的水平对齐方式。

TextHorizontalAlignment

此枚举描述 TextStyledText 元素沿水平轴的对齐方式。

  • start:文本将与包含盒的起始边对齐。根据文本方向,可能是左对齐或右对齐。
  • end:文本将与包含盒的结束边对齐。根据文本方向,可能是左对齐或右对齐。
  • left:文本将与包含盒的左边缘对齐。
  • center:文本将在包含盒内水平居中。
  • right:文本将与包含盒的右边缘对齐。

placeholder-text

string (in) default: ""

当编辑字段中没有文本时显示的占位文本。

viewport-width

length (in-out) default: 0px

文本编辑的视口宽度。

viewport-height

length (in-out) default: 0px

文本编辑的视口高度。

viewport-x

length (in-out) default: 0px

相对于文本编辑的视口 x 位置。通常为负值。

viewport-y

length (in-out) default: 0px

相对于文本编辑的视口 y 位置。通常为负值。

visible-width

length (out) default: 0px

文本编辑的可见区域宽度(不包括滚动条)

visible-height

length (out) default: 0px

文本编辑的可见区域高度(不包括滚动条)

函数

  • focus() 调用此函数以使 TextEdit 获得焦点并接收将来的键盘事件。
  • clear-focus() 调用此函数以从该 TextEdit 中移除键盘焦点(如果当前拥有焦点)。另请参阅 焦点处理
  • set-selection-offsets(int, int) 选择两个 UTF-8 偏移量之间的文本。
  • select-all() 选择所有文本。
  • clear-selection() 清除选择。无论 read-onlyenabled 属性如何,此函数都会生效。
  • copy() 将所选文本复制到剪贴板。
  • cut() 将所选文本复制到剪贴板并将其从可编辑区域中移除。无论 read-onlyenabled 属性如何,此函数都会生效。
  • paste() 在光标位置粘贴剪贴板的文本内容。无论 read-onlyenabled 属性如何,此函数都会生效。

回调

edited(string)

当用户修改导致文本发生变化时触发

slint
TextEdit {    edited(text) => {        debug("Edited: ", text);    }}

key-pressed(KeyEvent) -> EventResult

当按键被按下时调用,参数是一个 KeyEvent 结构体。使用此回调可在 TextEdit 处理之前处理按键。返回 accept 表示你已处理该事件,返回 reject 则让 TextEdit 处理。

key-released(KeyEvent) -> EventResult

当按键被释放时调用,参数是一个 KeyEvent 结构体。使用此回调可在 TextEdit 处理之前处理按键。返回 accept 表示你已处理该事件,返回 reject 则让 TextEdit 处理。

基于 MIT 协议发布