如何通过按钮获取Kivy中TextInput的文本?(使用kv文件)
使用Kivy kv文件实现点击按钮获取输入框内容
要实现点击按钮时获取指定输入框的内容,只需利用kv文件中给输入框设置的id,在Python类的方法里通过self.ids访问对应输入框的文本即可。以下是修改后的完整代码:
Python代码
from kivy.app import App from kivy.uix.widget import Widget class MainWidget(Widget): def get_input(self): # 获取带id的输入框内容 input_content = self.ids.my_text.text print("输入框内容:", input_content) # 若需将内容显示到第二个输入框,可添加此行(需给第二个输入框加id) # self.ids.second_text.text = input_content # 直接返回内容,供其他逻辑调用 return input_content class TheLabApp(App): pass TheLabApp().run()
kv文件代码
MainWidget: <MainWidget>: Button: size: "100", "40" pos: root.width / 2 - 50, root.height / 2 - 42 on_press: root.get_input() TextInput: size: "250", "30" id: my_text multiline: False pos: root.width / 2 - 125, root.height / 2 + 32 TextInput: size: "250", "30" id: second_text # 给第二个输入框添加id,方便后续赋值 multiline: False pos: root.width / 2 - 125, root.height / 2
关键说明
- 在kv文件中给目标
TextInput设置id: my_text,这是kv文件中控件的唯一标识; - Python类的
get_input方法里,通过self.ids.my_text.text就能获取该输入框的文本内容; - 如果要把获取到的内容同步到第二个输入框,给第二个输入框设置
id后,用self.ids.second_text.text = 内容即可完成赋值。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

