如何获取Kivy TextInput或Label的字符宽度

时间:2015-07-06 00:56:52

标签: python kivy

TextInput的{​​{1}}内容很长。我想知道Kivy字符的宽度。换句话说,线的长度?

TextInput

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用TextInput属性检查_lines行。为了得到他们的长度,使用len()内置:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout

from kivy.lang import Builder

Builder.load_string("""

<MyWidget>:
    Button:
        text: "Print width"
        on_press: print([len(line) for line in ti._lines])
    TextInput
        text: "Open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps"
        id: ti
""")

class MyWidget(BoxLayout):
    pass

class MyApp(App):
    def build(self):
        return MyWidget()

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