python - 将 TextInput 绑定(bind)到 .kv 文件中的标签

标签 python python-3.x kivy

我正在观看 Alexander Taylor 的教程视频“Kivy 速成类(class) 3:更有趣的小部件交互”,但他是用 Python 而不是 .kv 文件编写代码。我尝试使用 .kv 文件来遵循教程,但我对如何将 TextInput 文本绑定(bind)到标签文本感到困惑。 是否可以将其写入.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

最佳答案

.kv 中的绑定(bind)更简单,因为它是一种声明性语言,赋值就足够了,但具有信息的元素必须有一个 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

关于python - 将 TextInput 绑定(bind)到 .kv 文件中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53286963/

相关文章:

python - 以编程方式在 Accordion 中切换 "tab"

python - Kivy - 如何从带/不带修饰符的按键中获取正确的字符?

python - 在 Pandas 中递归创建和分配数据帧

python - Socket收不到数据?客户端是使用 Boost.asyio 库编写的。服务器是用python写的

python - 如何在python中确定一周的第一天

python - django 中的关系数据库以弹出形式

Python 3 : Determine if object supports IO

python - 嵌套for循环到Python中的递归函数

arrays - 如何将二维数组(30x20)扩展到 620x480 二维数组中包含的 36x60?

python - Kivy kv 文件的行为与 Builder.load_string 不同