1

有问题的代码

txt = TextInput(text='%s'%default, multiline=False, size_hint=(0.5,1))
txt.font_name = gAssets + "FreeSans.ttf"
Txt.font_size = 14

如果我注释掉 font_name 属性,则输入中的文本大约是正确的。(在盒子里仍然有点高,但可行)

法线对齐(使用 DroidSans.ttf)(使用带有默认字体的普通 TextInput (DroidSans.ttf))

但是,一旦我取消注释将其设置为 FreeSans.ttf (更大的字符集)的行,它现在在文本字段中的位置很高

带有 FreeSans 的 Kivy TextInput(使用带有 FreeSans.ttf 的普通 TextInput)

我正在使用 kivy 1.3 并且未能成功使填充属性起作用(但是,如果有人可以演示如何将其与 TextInput 一起使用,我将很乐意使用它。)

4

1 回答 1

0

您可以使用VariableListPropery更改代码中的填充。例子:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.textinput import TextInput
from kivy.properties import  VariableListProperty

class MyTextInput(TextInput):
    padding =  VariableListProperty(['24dp', '48dp'])

class MyApp(App):
    def build(self):
        return MyTextInput(text='This is an example text', multiline=False)

if __name__ == '__main__':
    MyApp().run()

如小部件文档中所述,此代码需要 1.7 版本。我建议升级,因为我什至没有在任何地方看到任何 API 存档来检查它之前的设置方式。

于 2013-09-07T23:28:53.550 回答