字段内容在 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)