【问题标题】:Kivy TextInput how to change hint_text font sizeKivy TextInput如何更改hint_text字体大小
【发布时间】:2021-07-16 00:44:30
【问题描述】:

有没有办法在 Kivy 中更改 TextInput 提示文本的字体大小?我找不到任何关于使用 hint_text_size 的文档。

TextInput:
    id: text_input_unique
    hint_text: 'example: Stand25'
    hint_text_size: 16
    multiline: False
    size_hint_y: None
    height: 50
    font_size: 32
    halign: 'center'
    cursor_color: (0,0,0,1)

【问题讨论】:

    标签: kivy font-size textinput


    【解决方案1】:

    TextInputhint_text 使用与主文本相同的字体属性(颜色除外)。这是TextInput 的扩展,它尊重hint_font_size 属性:

    class TextInputwHintSize(TextInput):
        hint_font_size = NumericProperty(sp(15))
    
        def __init__(self, **kwargs):
            self.regular_font_size = sp(15)
            self.ignore_font_size_change = False
            super(TextInputwHintSize, self).__init__(**kwargs)
            Clock.schedule_once(self.set_font_size)
    
        def set_font_size(self, dt):
            self.ignore_font_size_change = True
            if self.text == '':
                self.font_size = self.hint_font_size
    
        def on_font_size(self, instance, size):
            if self.ignore_font_size_change:
                return
            self.regular_font_size = size
    
    
        def on_text(self, instance, text):
            if text == '':
                self.font_size = self.hint_font_size
            else:
                self.font_size = self.regular_font_size
    

    例如,像这样使用:

    TextInputwHintSize:
        id: text_input_unique
        hint_text: 'example: Stand25'
        hint_font_size: 16
        multiline: False
        size_hint_y: None
        height: 50
        font_size: 32
        halign: 'center'
        cursor_color: (0,0,0,1)
    

    【讨论】:

    • 我尝试将 regular_font_size 更改为 32,但它保持在 15。我需要处理 instance 参数吗?
    • 我更新了代码以更好地处理 'kv` 和 python 代码。
    • 谢谢你,效果更好。有几件事我想改进,但现在它有效。我想这样做,以便当光标位于 textinput 上时,它会以 32 字体大小闪烁。干杯!
    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 2019-02-19
    • 2011-09-24
    • 2015-12-09
    相关资源
    最近更新 更多