字段内容在 kivy Textinput 中并不总是可见
Field content not always visible in kivy Textinput
我在 Textinput 字段中显示内容时遇到一些 strange/unexpected 行为(最初用于新记录输入 - 随后用于显示记录数据)。数据在字典中可用,并分配给 Textinput 字段。对于短数据,字符有时会被隐藏:
好像光标在字符串的末尾,所有字符都在左侧,标签后面'hidden'(?)。在字段中单击鼠标并向左箭头后,字符出现。
我的 kv 定义有什么问题? :
BoxLayout:
orientation: "horizontal"
height: 25
size_hint_y: None
Label:
id: _socialsource_label
size_hint: 0.35,1
text: "Social access token:"
size: self.texture_size
halign: 'left'
valign: 'middle'
font_size: 14
color: .3,.3,.3,1
TextInput:
id: socialsource
padding: 4,2,4,0
size_hint: 0.65,1
font_size: 14
multiline: False
readonly: False
text_size: self.width, None
halign: 'left'
foreground_color: .3,.3,.3,1
disabled_foreground_color: .3,.3,.3,1
background_normal: './images/tinputBGnormal.png'
background_active: './images/tinputBGactive.png'
background_disabled_normal: './images/tinputBGdisnormal.png'
background_disabled_active: './images/tinputBGdisactive.png'
在 python 代码中,数据由以下人员分配:
self.socialchnl.text = projdict[0]['PRJSocchnl:']
self.socialsource.text = projdict[0]['PRJSocsrc:']
self.socialprovdr.text = projdict[0]['PRJSocprv:']
您 hint_text
而不是 text
用于您的 TextInputs。像
MyTextInput:
id: social
hint_text: some_social_name
在获得更多使用 kivy 的经验后,我想出了以下解决方案:
只需在将新数据分配给文本输入的同时设置光标位置:
self.socialsource.text = projdict[0]['PRJSocsrc:']
self.socialsource.cursor = (0, 0)
我在 Textinput 字段中显示内容时遇到一些 strange/unexpected 行为(最初用于新记录输入 - 随后用于显示记录数据)。数据在字典中可用,并分配给 Textinput 字段。对于短数据,字符有时会被隐藏:
好像光标在字符串的末尾,所有字符都在左侧,标签后面'hidden'(?)。在字段中单击鼠标并向左箭头后,字符出现。
我的 kv 定义有什么问题? :
BoxLayout:
orientation: "horizontal"
height: 25
size_hint_y: None
Label:
id: _socialsource_label
size_hint: 0.35,1
text: "Social access token:"
size: self.texture_size
halign: 'left'
valign: 'middle'
font_size: 14
color: .3,.3,.3,1
TextInput:
id: socialsource
padding: 4,2,4,0
size_hint: 0.65,1
font_size: 14
multiline: False
readonly: False
text_size: self.width, None
halign: 'left'
foreground_color: .3,.3,.3,1
disabled_foreground_color: .3,.3,.3,1
background_normal: './images/tinputBGnormal.png'
background_active: './images/tinputBGactive.png'
background_disabled_normal: './images/tinputBGdisnormal.png'
background_disabled_active: './images/tinputBGdisactive.png'
在 python 代码中,数据由以下人员分配:
self.socialchnl.text = projdict[0]['PRJSocchnl:']
self.socialsource.text = projdict[0]['PRJSocsrc:']
self.socialprovdr.text = projdict[0]['PRJSocprv:']
您 hint_text
而不是 text
用于您的 TextInputs。像
MyTextInput:
id: social
hint_text: some_social_name
在获得更多使用 kivy 的经验后,我想出了以下解决方案: 只需在将新数据分配给文本输入的同时设置光标位置:
self.socialsource.text = projdict[0]['PRJSocsrc:']
self.socialsource.cursor = (0, 0)