import { LineEdit, VerticalBox } from "std-widgets.slint";export component Example inherits Window { width: 200px; height: 60px;
VerticalBox { LineEdit { placeholder-text: "Enter text here"; } }}
用于输入单行文本的控件。有关能够处理多行文本的控件,请参阅 。
属性
enabled
bool default: true
当为 false 时,无法输入任何内容。
font-size
length default: 0px
输入文本的字体大小
font-family
string default: ""
输入文本的字体系列
font-italic
bool default: false
输入文本字体的斜体状态
has-focus
bool (out) default: false
当该 LineEdit 当前具有焦点时设置为 true
horizontal-alignment
enum TextHorizontalAlignment default: left
文本的水平对齐方式。
TextHorizontalAlignment
此枚举描述了 Text 或 StyledText 元素沿水平轴的不同对齐方式。
start:文本将与包含框的起始边缘对齐。根据文本方向的不同,这可以是左对齐或右对齐。end:文本将与包含框的结束边缘对齐。根据文本方向的不同,这可以是左对齐或右对齐。left:文本将与包含框的左边缘对齐。center:文本将在包含框内水平居中。right:文本将与包含框的右边缘对齐。
input-type
enum InputType default: text
允许特殊输入显示属性的方式,例如密码字段。
LineEdit { input-type: password;}InputType
此枚举用于定义输入字段的类型。
text:默认值。这将正常渲染所有字符password:这将使用默认的 "*" 字符渲染所有字符number:这将仅接受并渲染数字字符(0-9)decimal:如果字符是小数的有效组成部分,则接受并渲染该字符
placeholder-text
string default: ""
当编辑字段中没有文本时显示的占位符文本
read-only
bool default: false
当设置为 true 时,通过键盘和鼠标进行的文本编辑将被禁用,但仍然可以选中文本, 也可以通过代码编辑文本。
text
string (in-out) default: ""
正在编辑的文本
LineEdit { text: "Initial text";}函数
focus()
调用此函数以聚焦 LineEdit,使其接收将来的键盘事件。
clear-focus()
调用此函数可以从当前具有焦点的 LineEdit 移除键盘焦点。另请参阅 焦点处理。
set-selection-offsets(int, int)
选择两个 UTF-8 偏移量之间的文本。
select-all()
选择所有文本。
clear-selection()
清除选择。 此函数无论 read-only 和 enabled 属性如何都会生效。
copy()
将所选文本复制到剪贴板。
cut()
将所选文本复制到剪贴板并将其从可编辑区域中移除。 此函数无论 read-only 和 enabled 属性如何都会生效。
paste()
在光标位置粘贴剪贴板中的文本内容。 此函数无论 read-only 和 enabled 属性如何都会生效。
回调
accepted(string)
按下 Enter 键时调用。
LineEdit { accepted(text) => { debug("Accepted: ", text); }}edited(string)
当文本因用户修改而发生变化时触发
LineEdit { edited(text) => { debug("Text edited: ", text); }}key-pressed(KeyEvent) -> EventResult
在按键被按下时调用,参数是一个 KeyEvent 结构体。使用此回调可在 LineEdit 处理按键之前处理它们。返回 accept 表示你已处理该事件,或返回 reject 以让 LineEdit 处理它。
key-released(KeyEvent) -> EventResult
在按键被释放时调用,参数是一个 KeyEvent 结构体。使用此回调可在 LineEdit 处理按键之前处理它们。返回 accept 表示你已处理该事件,或返回 reject 以让 LineEdit 处理它。