在Kivy应用中获取textinput值 [英] Get textinput value in Kivy app

查看:311
本文介绍了在Kivy应用中获取textinput值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Python/Kivy的新手,它试图构建一个带有输入框,确定按钮和标签的测试应用程序,单击确定按钮时应更改文本.但是相反,我得到了"NameError:未定义全局名称'txt1'".我在做什么错了?

New to Python/Kivy trying to build a test app with an input box, an ok button and a label that should change text when the ok button is clicked. But instead I get 'NameError: global name 'txt1' is not defined'. What am I doing wrong?

# 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()

推荐答案

使用self.txt1, self.lbl1等.

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)
        self.lbl1 = Label(text="test")
        layout.add_widget(self.lbl1)
        self.txt1 = TextInput(text='', multiline=False)
        layout.add_widget(self.txt1)
        return layout

# button click function
    def buttonClicked(self,btn):
        self.lbl1.text = "You wrote " + self.txt1.text

# run app
if __name__ == "__main__":
    MyApp().run()
 # join all items in a list into 1 big string

使用:

def buttonClicked(self,btn):
        lbl1.text = "You wrote " + txt1.text <- only exists in the build method

这篇关于在Kivy应用中获取textinput值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆