使用 python 中 textinput 的值
Using value from textinput in python
我想制作一个应用程序,当我按下“打印”时,它会打印在 TextInput 中输入的文本。
在网上搜索了几个小时后,我仍然无法理解如何将 TextInput 的值赋给 python 脚本中的变量。
这是 Kivy 代码:
<SimpleRoot>:
orientation:"vertical"
padding: root.width * .02, root.height * .02
spacing: "10dp"
TextInput:
id: txt
Button:
text: 'Print'
on_press: root.printTxt(txt.text)
Python 脚本:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
class SimpleRoot(BoxLayout): # 2
def printTxt(text):
print txt.text
pass
class SimpleApp(App): # 1
def build(self):
# Return root widget
return SimpleRoot()
if __name__ == "__main__":
SimpleApp().run()
尝试改变这个:
class SimpleRoot(BoxLayout): # 2
def printTxt(text):
print txt.text
对此
class SimpleRoot(BoxLayout): # 2
def printTxt(self, text):
print text
我想制作一个应用程序,当我按下“打印”时,它会打印在 TextInput 中输入的文本。 在网上搜索了几个小时后,我仍然无法理解如何将 TextInput 的值赋给 python 脚本中的变量。
这是 Kivy 代码:
<SimpleRoot>:
orientation:"vertical"
padding: root.width * .02, root.height * .02
spacing: "10dp"
TextInput:
id: txt
Button:
text: 'Print'
on_press: root.printTxt(txt.text)
Python 脚本:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
class SimpleRoot(BoxLayout): # 2
def printTxt(text):
print txt.text
pass
class SimpleApp(App): # 1
def build(self):
# Return root widget
return SimpleRoot()
if __name__ == "__main__":
SimpleApp().run()
尝试改变这个:
class SimpleRoot(BoxLayout): # 2
def printTxt(text):
print txt.text
对此
class SimpleRoot(BoxLayout): # 2
def printTxt(self, text):
print text