我正在观看 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/