4
Python/Kivy的新手试图通过一个输入框,一个ok按钮和一个应该在单击ok按钮时更改文本的标签来构建一个测试应用程序。但相反,我得到'NameError:全球名称'txt1'未定义'。我究竟做错了什么?在Kivy应用程序中获取textinput值
# import Kivy
import kivy
import random
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
# my app
class MyApp(App):
# layout
def build(self):
layout = BoxLayout(padding=10, orientation='vertical')
btn1 = Button(text="OK")
btn1.bind(on_press=self.buttonClicked)
layout.add_widget(btn1)
lbl1 = Label(text="test")
layout.add_widget(lbl1)
txt1 = TextInput(text='', multiline=False)
layout.add_widget(txt1)
return layout
# button click function
def buttonClicked(self,btn):
lbl1.text = "You wrote " + txt1.text
# run app
if __name__ == "__main__":
MyApp().run()
将这种方法运用工作时千伏语言? – supreme 2017-07-23 22:11:16
在KV中,您应该可以使用: TextInput:\ n text:“”\ n multiline:False – 2017-12-13 17:07:09