Kivy TextInput如何更改hint_text字体大小
Posted
技术标签:
【中文标题】Kivy TextInput如何更改hint_text字体大小【英文标题】:Kivy TextInput how to change hint_text font size 【发布时间】: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)
【问题讨论】:
【参考方案1】:TextInput
对hint_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 字体大小闪烁。干杯!以上是关于Kivy TextInput如何更改hint_text字体大小的主要内容,如果未能解决你的问题,请参考以下文章
Kivy:如何在 kivy 中制作圆角 TextInput?