目录
- 文本输入
- 使用示例
- 选择
- 处理。
- 过滤
- 默认快捷键
TextInputTextInput.allow_copyTextInput.auto_indentTextInput.background_activeTextInput.background_colorTextInput.background_disabled_normalTextInput.background_normalTextInput.base_directionTextInput.borderTextInput.cancel_selection()TextInput.copy()TextInput.cursorTextInput.cursor_blinkTextInput.cursor_colTextInput.cursor_colorTextInput.cursor_index()TextInput.cursor_offset()TextInput.cursor_posTextInput.cursor_rowTextInput.cursor_widthTextInput.cut()TextInput.delete_selection()TextInput.disabled_foreground_colorTextInput.do_backspace()TextInput.do_cursor_movement()TextInput.do_redo()TextInput.do_undo()TextInput.do_wrapTextInput.font_contextTextInput.font_familyTextInput.font_nameTextInput.font_sizeTextInput.foreground_colorTextInput.get_cursor_from_index()TextInput.get_cursor_from_xy()TextInput.get_max_scroll_x()TextInput.halignTextInput.handle_image_leftTextInput.handle_image_middleTextInput.handle_image_rightTextInput.hint_textTextInput.hint_text_colorTextInput.input_filterTextInput.insert_text()TextInput.keyboard_on_key_down()TextInput.keyboard_on_key_up()TextInput.line_heightTextInput.line_spacingTextInput.lines_to_scrollTextInput.minimum_heightTextInput.multilineTextInput.on_cursor()TextInput.on_cursor_blink()TextInput.on_double_tap()TextInput.on_quad_touch()TextInput.on_touch_down()TextInput.on_touch_move()TextInput.on_touch_up()TextInput.on_triple_tap()TextInput.paddingTextInput.padding_xTextInput.padding_yTextInput.passwordTextInput.password_maskTextInput.paste()TextInput.pgmove_speedTextInput.readonlyTextInput.replace_crlfTextInput.reset_undo()TextInput.scroll_distanceTextInput.scroll_from_swipeTextInput.scroll_timeoutTextInput.scroll_xTextInput.scroll_yTextInput.select_all()TextInput.select_text()TextInput.selection_colorTextInput.selection_fromTextInput.selection_textTextInput.selection_toTextInput.tab_widthTextInput.textTextInput.text_languageTextInput.text_validate_unfocusTextInput.use_bubbleTextInput.use_handlesTextInput.write_tab
文本输入¶
在 1.0.4 版本加入.
TextInput 控件提供了一个可编辑纯文本的输入框。
支持Unicode、多行文本、光标导航、选择及剪贴板功能。
TextInput 使用了两种不同的坐标系:
(x, y) - 以像素为单位的坐标,主要用于屏幕上的渲染。
(col, row) - 光标索引,以字符/行计,用于选择和光标移动。
使用示例¶
要创建一个多行 :class:`TextInput`('enter' 键添加新行):
from kivy.uix.textinput import TextInput
textinput = TextInput(text='Hello world')
要创建单行 TextInput,请将 TextInput.multiline 属性设置为 False(此时“回车”键将使 TextInput 失去焦点,并触发 TextInput.on_text_validate() 事件):
def on_enter(instance, value):
print('User pressed enter in', instance)
textinput = TextInput(text='Hello world', multiline=False)
textinput.bind(on_text_validate=on_enter)
文本输入框的文本存储在其 TextInput.text 属性中。要在文本变化时运行回调函数,可以这样做:
def on_text(instance, value):
print('The widget', instance, 'have:', value)
textinput = TextInput()
textinput.bind(text=on_text)
你可以将 focus 设置为 Textinput,这意味着输入框将被高亮显示,并请求键盘焦点:
textinput = TextInput(focus=True)
当按下“escape”键,或者有其他控件请求键盘时,文本输入框会失去焦点。你可以将回调绑定到`focus`属性上,以便在焦点变化时收到通知:
def on_focus(instance, value):
if value:
print('User focused', instance)
else:
print('User defocused', instance)
textinput = TextInput()
textinput.bind(focus=on_focus)
参见 FocusBehavior,这是 TextInput 继承的类,了解更多详情请参考。
选择¶
当光标位置改变时,选择会自动更新。您可以从 TextInput.selection_text 属性获取当前选中的文本。
处理。¶
可以通过设置 TextInput.use_handles 属性来启用或禁用选择手柄的使用。在移动设备上,该属性默认值为 True。
选择手柄使用类 Selector 作为选择手柄的基类。您可以通过如下方式自定义选择手柄的颜色:
<Selector>
color: 0, 1, 0, 1
# or <Textinput_instance>.selection_color or app.selection_color
TextInput 实例化选择手柄,并将其存储于以下属性中:TextInput._handle_middle、TextInput._handle_left、TextInput._handle_right。
你应该在实例化TextInput之前设置选择模板,以便让选择手柄应用你所做的更改。
过滤¶
你可以通过重写 TextInput.insert_text() 来控制哪些文本可以被添加到 TextInput 中。任何通过键入、粘贴或其他方式插入到 TextInput 中的字符串都会经过这个函数。通过重写它,你可以拒绝或修改不需要的字符。
例如,要仅使用大写字符书写::
class CapitalInput(TextInput):
def insert_text(self, substring, from_undo=False):
s = substring.upper()
return super().insert_text(s, from_undo=from_undo)
或者仅允许浮点数(0-9 和一个小数点):
class FloatInput(TextInput):
pat = re.compile('[^0-9]')
def insert_text(self, substring, from_undo=False):
pat = self.pat
if '.' in self.text:
s = re.sub(pat, '', substring)
else:
s = '.'.join(
re.sub(pat, '', s)
for s in substring.split('.', 1)
)
return super().insert_text(s, from_undo=from_undo)
默认快捷键¶
快捷键 |
描述 |
左侧 |
将光标向左移动。 |
好的,请发送需要翻译的英文内容。 |
将光标向右移动。 |
向上 |
将光标向上移动 |
向下 |
将光标向下移动。 |
首页 |
将光标移动到行首 |
好的,请发送需要翻译的英文内容。 |
将光标移动到行尾 |
PageUp |
将光标移动到3行之前 |
PageDown |
将光标移动到3行之后 |
退格键 |
删除光标前的选中内容或字符。 |
很抱歉,您只发送了“Del”一词,这似乎不是一个完整的英文技术文档内容。请提供需要翻译的完整英文文本,我将为您翻译成简体中文。 |
删除光标后的字符选区 |
Shift + <方向键> |
开始文本选择。方向可以是上、下、左或右。 |
Control + c |
请提供需要翻译的英文内容。 |
Control + x |
剪切选区 |
Control + v |
我注意到您没有提供需要翻译的英文内容。请发送您希望翻译的英文技术文档或文本,我会按照您的要求将其翻译成简体中文。 |
Control + a |
选择所有内容 |
Control + Z |
撤销 |
Control + r |
重做 |
备注
要启用 Emacs 风格的键盘快捷键,可以使用 EmacsBehavior。
- class kivy.uix.textinput.TextInput(**kwargs)[源代码]¶
基类:
FocusBehavior,WidgetTextInput 类。更多信息请参阅模块文档。
- 事件:
- on_text_validate
仅在multiline=False模式下,当用户按下“回车”键时触发。此操作同时会使文本输入框失去焦点。
- on_double_tap
当文本输入中发生双击时触发。默认行为是选中光标位置周围的文本。更多信息请参见
on_double_tap()。- on_triple_tap
当文本输入中发生三次点击时触发。默认行为是选中光标位置所在的行。更多信息请参阅
on_triple_tap()。- on_quad_touch
当四个手指触摸文本输入时触发。默认行为是选中全部文本。更多信息参见
on_quad_touch()。
警告
当修改一个需要重新绘制的
TextInput属性时,例如修改text,更新会在下一个时钟周期发生,而不是立即生效。这可能导致在修改与下一个周期之间对TextInput所做的任何更改被忽略,或使用先前的值。例如,在更新text后,在同一时钟帧内更改光标位置,会基于先前的文本移动光标,最终可能落在错误的位置。解决方案是使用schedule_once()将任何更新安排到下一个时钟周期执行。备注
当TextInput获得焦点时,选择会被取消。如果你需要在TextInput获得焦点时显示选择,你应该延迟(使用Clock.schedule)调用选择文本的函数(select_all, select_text)。
在 1.10.0 版本发生变更: background_disabled_active 已被移除。
在 1.9.0 版本发生变更:
TextInput现在继承自FocusBehavior。由于这些属性和方法现在已从FocusBehavior继承,因此keyboard_mode、show_keyboard()、hide_keyboard()、focus()和input_type已被移除。在 1.7.0 版本发生变更: 新增了 on_double_tap、on_triple_tap 和 on_quad_touch 事件。
在 2.1.0 版本发生变更:
keyboard_suggestions现在继承自FocusBehavior。- allow_copy¶
决定是否允许复制文本。
在 1.8.0 版本加入.
allow_copy是一个BooleanProperty,默认值为 True。
- auto_indent¶
自动缩进多行文本。
在 1.7.0 版本加入.
auto_indent是一个BooleanProperty,默认值为 False。
- background_active¶
TextInput 在聚焦时的背景图像。
在 1.4.1 版本加入.
background_active是一个StringProperty,默认值为 'atlas://data/images/defaulttheme/textinput_active'。
- background_color¶
背景的当前颜色,格式为 (r, g, b, a)。
在 1.2.0 版本加入.
background_color是一个ColorProperty,默认值为 [1, 1, 1, 1](白色)。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- background_disabled_normal¶
TextInput 在禁用时的背景图像。
在 1.8.0 版本加入.
background_disabled_normal是一个StringProperty,默认值为 'atlas://data/images/defaulttheme/textinput_disabled'。
- background_normal¶
TextInput 在未聚焦时的背景图像。
在 1.4.1 版本加入.
background_normal是一个StringProperty,默认值为 'atlas://data/images/defaulttheme/textinput'。
- base_direction¶
文本的基础方向,这会影响当
halign为 `auto`(默认值)时的水平对齐方式。可用选项有:None、"ltr"(从左到右)、"rtl"(从右到左),以及 "weak_ltr" 和 "weak_rtl"。备注
此功能需要Pango文本提供程序。
备注
Kivy 文本布局目前尚未实现弱模式,其效果与设置强模式相同。
在 1.10.1 版本加入.
base_direction是一个OptionProperty,默认值为 None(如果可能则自动检测 RTL,否则为 LTR)。
- border¶
用于
BorderImage图形指令的边框。与background_normal和background_active一起使用。可用于自定义背景。在 1.4.1 版本加入.
它必须是一个包含四个值的列表:(bottom, right, top, left)。请阅读 BorderImage 指令以了解更多关于如何使用它的信息。
border是一个ListProperty,默认值为 (4, 4, 4, 4)。
- copy(data='')[源代码]¶
将参数`data`中提供的值复制到当前剪贴板。如果`data`不是字符串类型,它将被转换为字符串。如果未提供`data`,则当前选中内容(如果存在)将被复制。
在 1.8.0 版本加入.
- cursor¶
(col, row) 值的元组,表示当前光标位置。如果您想移动光标,可以设置新的 (col, row)。滚动区域将自动更新,以确保光标在视口内可见。
cursor是一个AliasProperty。
- cursor_blink¶
该属性用于设置图形光标是否应闪烁。
在 1.10.1 版本发生变更: cursor_blink 已被重构,以支持开关闪烁功能,先前的行为已移至私有属性 _cursor_blink。之前的默认值 False 已更改为 True。
cursor_blink是一个BooleanProperty,默认值为 True。
- cursor_col¶
光标的当前列。
cursor_col是AliasProperty对 cursor[0] 的别名属性,只读。
- cursor_color¶
光标当前的颜色,格式为 (r, g, b, a)。
在 1.9.0 版本加入.
cursor_color是一个ColorProperty,默认值为 [1, 0, 0, 1]。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- cursor_pos¶
光标当前位置,坐标为 (x, y)。
cursor_pos是一个AliasProperty,只读属性。
- cursor_row¶
光标当前所在行。
cursor_row是AliasProperty对 cursor[1] 的别名属性,只读。
- cursor_width¶
光标当前的宽度。
在 1.10.0 版本加入.
cursor_width是一个NumericProperty,默认值为 '1sp'。
- disabled_foreground_color¶
禁用时的前景当前颜色,格式为(r,g,b,a)。
在 1.8.0 版本加入.
disabled_foreground_color是一个ColorProperty,默认值为 [0, 0, 0, 5](50% 透明黑色)。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- do_backspace(from_undo=False, mode='bkspc')[源代码]¶
从当前光标位置执行退格操作。此操作可能执行多项操作:
如果存在当前选中项,则将其移除。
删除前一个字符并将光标移回。
如果我们在起始位置,则不做任何操作。
- do_cursor_movement(action, control=False, alt=False)[源代码]¶
将光标相对于其当前位置移动。操作可以是以下之一:
cursor_left:将光标向左移动
cursor_right:将光标向右移动
cursor_up:将光标移动到上一行
cursor_down:将光标移动到下一行
cursor_home:将光标移动到当前行的开头
cursor_end:将光标移动到当前行的末尾
cursor_pgup:向前移动一“页”
cursor_pgdown:向后移动一“页”
此外,某些操作的行为可以被修改:
control + cursor_left:将光标向左移动一个单词
control + cursor_right:将光标向右移动一个单词
control + cursor_up:向上滚动一行
control + cursor_down:向下滚动一行
control + cursor_home:跳转到文本开头
control + cursor_end:跳转到文本末尾
alt + cursor_up:将行向上移动
alt + cursor_down:将行向下移动
在 1.9.1 版本发生变更.
- do_wrap¶
如果为 True,且文本为多行,则超过控件宽度的行将换行到下一行,从而避免水平滚动。禁用此选项可确保一行始终显示为一行。
do_wrap是一个BooleanProperty,默认值为 True。新增于版本 2.1.0。
- font_context¶
字体上下文。None 表示字体被独立使用,因此可以保证使用由
font_name解析出的 TTF 文件进行绘制。在此处指定一个值会将字体文件加载到命名上下文中,从而在同一上下文中的所有字体之间启用回退。如果设置了字体上下文,则无法保证渲染时对所有字形实际使用指定的 TTF 文件(Pango 会选择它认为最合适的字体)。如果Kivy链接到了系统范围内的FontConfig安装,你可以通过指定以特殊字符串`system://`开头的字体上下文来加载系统字体。这将加载系统的fontconfig配置,并在其基础上添加你应用特定的字体(这带来了显著的字体族名称冲突风险,Pango可能不会使用你的自定义字体文件,而是从系统中选取一个)。
备注
此功能需要Pango文本提供程序。
在 1.10.1 版本加入.
font_context是一个StringProperty,默认值为 None。
- font_family¶
字体族,此选项仅在启用
font_context时适用。将请求指定的字体族,但请注意该字体可能不可用,或者可能有多个字体以相同族名注册。该值可以是字体上下文中可用的族名(字符串)(例如 system:// 上下文中的系统字体,或使用kivy.core.text.FontContextManager添加的自定义字体文件)。如果设置为 None,字体选择由font_name设置控制。备注
如果使用
font_name引用自定义字体文件,应将其保留为 None。在这种情况下,字体族名称会自动管理。备注
此功能需要Pango文本提供程序。
在 1.10.1 版本加入.
font_family是一个StringProperty,默认值为 None。
- font_name¶
要使用的字体文件名。路径可以是绝对路径或相对路径。相对路径由
resource_find()函数解析。警告
根据您的文本提供程序,字体文件可能会被忽略。不过,大多数情况下您可以放心使用,不会出现问题。
如果所使用的字体缺少您正在使用的特定语言/符号的字形,您将看到“[]”空白框字符,而不是实际字形。解决方案是使用包含您需要显示的字形的字体。例如,要显示|unicodechar|,请使用像freesans.ttf这样包含该字形的字体。
font_name是一个StringProperty,默认值为 'Roboto'。该值取自Config。
- font_size¶
文本的字体大小,单位为像素。
font_size是一个NumericProperty,默认值为 15sp。
- foreground_color¶
前景的当前颜色,格式为 (r, g, b, a)。
在 1.2.0 版本加入.
foreground_color是一个ColorProperty,默认值为 [0, 0, 0, 1](黑色)。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- halign¶
文本的水平对齐方式。
halign是一个OptionProperty,默认值为 'auto'。可用选项包括:auto、left、center 和 right。auto 会尝试自动检测从右到左(RTL)文本的水平对齐方式(仅限 Pango),否则其行为与 left 相同。在 1.10.1 版本加入.
- handle_image_left¶
用于在TextInput上显示选择左手柄的图像。
在 1.8.0 版本加入.
handle_image_left是一个StringProperty,默认值为 'atlas://data/images/defaulttheme/selector_left'。
- handle_image_middle¶
用于在TextInput上显示光标定位中间手柄的图像。
在 1.8.0 版本加入.
handle_image_middle是一个StringProperty,默认值为 'atlas://data/images/defaulttheme/selector_middle'。
- handle_image_right¶
用于在TextInput上显示选择功能的右侧手柄的图像。
在 1.8.0 版本加入.
handle_image_right是一个StringProperty,默认值为 'atlas://data/images/defaulttheme/selector_right'。
- hint_text¶
小部件的提示文本,当文本为''时显示。
在 1.6.0 版本加入.
在 1.10.0 版本发生变更: 该属性现在是一个AliasProperty,字节值会被解码为字符串。当控件获得焦点时,提示文本将保持可见。
hint_text是一个AliasProperty,默认值为 ''。
- hint_text_color¶
hint_text 文本的当前颜色,格式为 (r, g, b, a)。
在 1.6.0 版本加入.
hint_text_color是一个ColorProperty,默认值为 [0.5, 0.5, 0.5, 1.0](灰色)。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- input_filter¶
根据指定的模式过滤输入,如果模式不为None。如果为None,则不进行任何过滤。
在 1.9.0 版本加入.
input_filter是一个ObjectProperty,默认值为 None。它可以是 None、'int'`(字符串)、'float'(字符串)或一个可调用对象。如果为 `'int',则只接受数字。如果为 'float',则还会接受一个小数点。最后,如果它是一个可调用对象,它将被调用并传入两个参数:要添加的字符串和一个布尔值,指示该字符串是否为撤销操作的结果(True)。该可调用对象应返回一个新的子字符串,用于替代原字符串。
- keyboard_on_key_down(window, keycode, text, modifiers)[源代码]¶
当实例获得焦点时,绑定到键盘的方法。
当实例获得焦点时,此方法会绑定到键盘,并在每次按键输入时被调用。其参数与
kivy.core.window.WindowBase.on_key_down()相同。在派生控件中重写该方法时,应调用super以启用Tab键循环。如果派生控件希望将Tab键用于自身目的,则可以在处理完字符后调用super(如果它不希望消耗Tab键)。
与其他键盘函数类似,如果按键已被消耗,则应返回True。
- keyboard_on_key_up(window, keycode)[源代码]¶
当实例获得焦点时,绑定到键盘的方法。
当实例获得焦点时,此方法会绑定到键盘,并在每次输入释放时被调用。其参数与
kivy.core.window.WindowBase.on_key_up()相同。在派生组件中重写该方法时,应调用super以支持按Esc键取消焦点。如果派生组件希望将Esc键用于自身用途,可在处理完该字符后调用super(若其不希望消耗该Esc键)。
- line_height¶
行的高度。此属性会根据
font_name和font_size自动计算。更改 line_height 将不会产生任何影响。备注
line_height是单行文本的高度。使用 :attr:`minimum_height`(它也包含内边距)来获取正确显示文本所需的高度。line_height是一个NumericProperty,只读。
- line_spacing¶
行与行之间所占的空间。
在 1.8.0 版本加入.
line_spacing是一个NumericProperty,默认值为 0。
- lines_to_scroll¶
设置使用鼠标滚轮时一次滚动的行数。
在 2.2.0 版本加入.
lines_to_scroll是一个BoundedNumericProperty,默认值为 3,最小值为 1。
- minimum_height¶
TextInput 内部内容的最小高度。
在 1.8.0 版本加入.
minimum_height是一个只读的AliasProperty。警告
minimum_width是基于width计算得出的,因此类似这样的代码会导致无限循环::<FancyTextInput>: height: self.minimum_height width: self.height
- multiline¶
如果为 True,该控件将能够显示多行文本。如果为 False,按下“回车”键将使文本输入框失去焦点,而不是添加新行。
multiline是一个BooleanProperty,默认值为 True。
- on_double_tap()[源代码]¶
当在TextInput内部发生双击时,会触发此事件。默认行为是选中当前光标位置周围的单词。覆盖此事件以提供不同的行为。或者,您可以绑定到此事件以提供额外的功能。
- on_touch_down(touch)[源代码]¶
接收触摸按下事件。
- 参数:
- touch:
MotionEvent类 收到触摸事件。该触摸位于父级坐标系中。关于坐标系统的讨论,请参阅
relativelayout。
- touch:
- 返回:
bool 如果为 True,触摸事件的派发将停止。如果为 False,事件将继续派发给控件树中的其余部分。
- on_touch_move(touch)[源代码]¶
接收触摸移动事件。触摸坐标位于父级坐标系中。
更多信息请参阅
on_touch_down()。
- on_touch_up(touch)[源代码]¶
接收触摸抬起事件。触摸坐标位于父级坐标系中。
更多信息请参阅
on_touch_down()。
- on_triple_tap()[源代码]¶
当在TextInput内部发生三次点击时,会触发此事件。默认行为是选中当前光标位置周围的行。覆盖此事件以提供不同的行为。或者,您可以绑定到此事件以提供额外的功能。
- padding¶
文本的内边距:[padding_left, padding_top, padding_right, padding_bottom]。
padding也支持双参数形式[水平内边距,垂直内边距]以及单参数形式[内边距]。
在 1.7.0 版本发生变更: 已将 AliasProperty 替换为 VariableListProperty。
padding是一个VariableListProperty,默认值为 [6, 6, 6, 6]。
- padding_x¶
文本的水平内边距:[padding_left, padding_right]。
padding_x 也接受单参数形式 [padding_horizontal]。
padding_x是一个VariableListProperty,默认值为 [0, 0]。此值可能会被当前主题所更改。自 1.7.0 版本弃用: 请使用
padding代替。
- padding_y¶
文本的垂直内边距:[padding_top, padding_bottom]。
padding_y 也接受单参数形式 [padding_vertical]。
padding_y是一个VariableListProperty,默认值为 [0, 0]。此值可能会被当前主题所更改。自 1.7.0 版本弃用: 请使用
padding代替。
- password¶
如果为 True,该控件将使用
password_mask中设置的字符集来显示其字符。在 1.2.0 版本加入.
password是一个BooleanProperty,默认值为 False。
- password_mask¶
设置当
password为 True 时用于遮蔽文本的字符。在 1.10.0 版本加入.
password_mask是一个StringProperty,默认值为 '*'。
- property pgmove_speed¶
按PgUp或PgDown键将移动多少垂直距离
- readonly¶
如果为 True,用户将无法更改文本输入的内容。
在 1.3.0 版本加入.
readonly是一个BooleanProperty,默认值为 False。
- replace_crlf¶
自动将CRLF替换为LF。
在 1.9.1 版本加入.
replace_crlf是一个BooleanProperty,默认值为 True。
- scroll_distance¶
从滚动模式切换到选择模式前所需移动的最小距离,单位为像素。建议您根据目标设备屏幕的dpi来设定此值。
在 2.1.0 版本加入.
scroll_distance是一个 NumericProperty,默认值为 20 像素。
- scroll_from_swipe¶
允许根据
scroll_timeout和scroll_distance使用滑动手势滚动文本。在 2.1.0 版本加入.
scroll_from_swipe是一个 BooleanProperty,在移动操作系统上默认为 True,在桌面操作系统上默认为 False。
- scroll_timeout¶
允许触发
scroll_distance的超时时间,单位为毫秒。如果用户在此超时时间内未移动scroll_distance,滚动将被禁用,并开始选择模式。在 2.1.0 版本加入.
scroll_timeout是一个 NumericProperty,默认值为 250 毫秒。
- scroll_x¶
视口的X轴滚动值。当光标移动或文本更改时,滚动会自动更新。如果没有用户输入,scroll_x 和 scroll_y 属性可能会被更改。
scroll_x是一个NumericProperty,默认值为 0。
- scroll_y¶
视口的Y轴滚动值。更多信息请参见
scroll_x。scroll_y是一个NumericProperty,默认值为 0。
- select_text(start, end)[源代码]¶
选择此TextInput中显示的部分文本。
在 1.4.0 版本加入.
- 参数:
- start
textinput.text 中开始选择的索引位置
- end
textinput.text 中索引,直到该索引处的选择应被显示
- selection_color¶
当前选中项的颜色,格式为 (r, g, b, a)。
警告
颜色应始终包含一个小于1的“alpha”分量,因为选择区域是在文本之后绘制的。
selection_color是一个ColorProperty,默认值为 [0.1843, 0.6549, 0.8313, .5]。在 2.0.0 版本发生变更: 从
ListProperty更改为ColorProperty。
- selection_from¶
如果选择正在进行或已完成,此属性将表示选择开始处的光标索引。
在 1.4.0 版本发生变更:
selection_from是一个AliasProperty,默认为 None,只读。
- selection_text¶
当前选中的内容。
selection_text是一个StringProperty,默认值为 '',且为只读属性。
- selection_to¶
如果选择正在进行或已完成,此属性将表示选择开始处的光标索引。
在 1.4.0 版本发生变更:
selection_to是一个AliasProperty,默认为 None,且为只读属性。
- tab_width¶
默认情况下,在文本输入控件中,每个制表符将被替换为四个空格。您可以设置更低或更高的值。
tab_width是一个NumericProperty,默认值为 4。
- text¶
控件的文本。
创建一个简单的hello world:
widget = TextInput(text='Hello world')
如果你想用Unicode字符串创建控件,请使用:
widget = TextInput(text=u'My unicode string')
text是一个AliasProperty。
- text_language¶
文本的语言,若为None,Pango将根据区域设置自动确定。这是一个RFC-3066格式的语言标签(字符串形式),例如"en_US"、"zh_CN"、"fr"或"ja"。这会影响字体选择、度量和渲染。例如,相同的文本字节在`ur`和`ar`语言下可能看起来不同,尽管两者都使用阿拉伯文字。
备注
此功能需要Pango文本提供程序。
在 1.10.1 版本加入.
text_language是一个StringProperty,默认值为 None。
- text_validate_unfocus¶
如果为 True,
TextInput.on_text_validate()事件将使控件失去焦点,从而停止监听键盘。当禁用时,由于 TextInput 保持焦点启用,TextInput.on_text_validate()事件可能会被多次触发。在 1.10.1 版本加入.
text_validate_unfocus是一个BooleanProperty,默认值为 True。
- use_bubble¶
指示是否使用剪切/复制/粘贴气泡。
在 1.7.0 版本加入.
use_bubble是一个BooleanProperty,在移动操作系统上默认为 True,在桌面操作系统上默认为 False。
- use_handles¶
指示选择手柄是否显示。
在 1.8.0 版本加入.
use_handles是一个BooleanProperty,在移动操作系统上默认为 True,在桌面操作系统上默认为 False。
- write_tab¶
是否按下Tab键应将焦点移至下一个控件,还是应在:class:TextInput`中输入一个制表符。若为`True,则会写入一个制表符;否则,焦点将移至下一个控件。
在 1.9.0 版本加入.
write_tab是一个BooleanProperty,默认值为 True。