将TextInput绑定到.kv文件中的标签

时间:2018-11-13 18:00:05

标签: python python-3.x kivy

我一直在跟踪亚历山大·泰勒(Alexander Taylor)的教学视频“ Kivy崩溃课程3:更有趣的小部件交互”,但他是用python而不是.kv文件编写代码。我试图改用.kv文件跟随本教程,但是我对如何将TextInput文本绑定到标签文本感到困惑。 是否可以将其写入.kv文件,还是必须将其写入.py文件。你能举个例子吗?

.py

from kivy.app import App

from kivy.lang import Builder
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout


class MainApp(App):

    def build(self):
        return pres    

pres = Builder.load_file("main.kv")

if __name__ == "__main__":
    MainApp().run()

.kv

BoxLayout:
    orientation: 'vertical'
    TextInput:
        size_hint_y: None
        height: 200
        font_size: 150
        hint_text: "Enter Text"
        text: ""
    FloatLayout:
        Scatter:
            Label:
                text: ""
                font_size: 150

1 个答案:

答案 0 :(得分:0)

.kv中的绑定更简单,因为它是一种声明性语言,使用赋值就足够了,但是对于具有信息的元素必须具有id。

*。kv

BoxLayout:
    orientation: 'vertical'
    TextInput:
        id: ti # <---
        size_hint_y: None
        height: 200
        font_size: 150
        hint_text: "Enter Text"
    FloatLayout:
        Scatter:
            Label:
                text: ti.text # <---
                font_size: 150