【发布时间】:2021-07-22 02:23:46
【问题描述】:
【问题讨论】:
-
请发布您的 .kv 代码。您可能需要以下内容:一个包含 TextInput 的外部 BoxLayout(horizontal) 和另一个包含您的按钮的 BoxLayout(vertical)。
-
现在又是一个问题,我不能“接受”文本输入,我该怎么做?很高兴有一个示例代码
【问题讨论】:
我建议在 kv 脚本中重新排列你的 gui。
替换
Label:
...
TextInput:
...
与
BoxLayout:
orientation:'horizontal'
Label:
...
TextInput:
...
【讨论】:
使用代码示例和帮助链接 (https://www.geeksforgeeks.org/python-textinput-in-kivy-using-kv-file/) 回答第二个问题
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
class MyApp(App):
def build(self):
title = "Sample Layout not using kv file"
layout = BoxLayout(orientation='horizontal')
self.textinput = TextInput(text="")
self.textinput.bind(text=self.get_text)
self.btn1 = Button(text='Move text to label')
self.btn1.bind(on_press=self.get_text)
self.btn2 = Button(text='World')
self.lbl1 = Label(text="text goes here")
layout.add_widget(self.textinput)
layout.add_widget(self.btn1)
layout.add_widget(self.btn2)
layout.add_widget(self.lbl1)
return layout
def get_text(self, *args):
print(self.textinput.text)
self.lbl1.text = "You wrote " + self.textinput.text
if __name__ == '__main__':
MyApp().run()
【讨论】: