Kivy技术问题:TextInput光标为何默认显示为红色?
Kivy TextInput光标默认红色的解决办法
原因
TextInput的光标颜色默认继承自Kivy应用主题的强调色,部分系统环境下会匹配系统主题的高亮色,因此会出现红色光标。
改色方法
直接在Python代码中设置
通过cursor_color属性可直接指定光标颜色,支持RGBA元组、十六进制字符串或颜色名称。
修改后的代码示例:
import kivy kivy.require('2.1.0') from kivy.app import App from kivy.uix.textinput import TextInput class MyApp(App): def build(self): # 设置光标为黑色,可替换为任意需要的颜色 return TextInput(text='Hello world', cursor_color=(0, 0, 0, 1)) if __name__ == '__main__': MyApp().run()
用KV语言全局配置(适合多组件场景)
如果项目使用KV语言管理界面,添加全局TextInput规则就能统一修改所有输入框的光标颜色:
<TextInput>: cursor_color: '#000000' # 十六进制黑色,也可使用(0,0,0,1)或'black'
注意点
- RGBA格式的颜色值范围为0到1,最后一位代表透明度(1为完全不透明)。
- 若仅需修改单个输入框的光标颜色,在对应TextInput实例中单独设置
cursor_color即可。
内容的提问来源于stack exchange,提问作者Sean Bannister
相关产品推荐
相关产品推荐

