从 kivy textinput 获取输入
getting input from kivy textinput
我想在以后的项目中使用它,我只想通过单击 MainScreen
上的按钮打印来自 TextInput
的用户输入,但是当我 运行 和单击带有文本 "Print Text" 的按钮,没有任何反应,没有错误,也没有输出。
.kv 文件:
#: import FadeTransition kivy.uix.screenmanager.FadeTransition
ScreenManagement:
transition: FadeTransition()
MainScreen:
SecondScreen:
<MainScreen>:
name: "main"
Button:
on_release: root.get_text
text: "Print Text"
font_size: 50
size_hint:0.3,0.1
TextInput:
text:"Hello World"
size_hint: 0.35,0.25
pos_hint:{"right":1, "top":1}
color:1,0,0,1
id: user_text
Button:
color: 0,1,0,1
font_size: 25
size_hint: 0.3,0.25
text: "Continue"
on_release: app.root.current = "other"
pos_hint:{"right":1, "top":0}
<SecondScreen>:
name: "other"
FloatLayout:
Button:
color: 0,1,0,1
font_size: 25
size_hint: 0.3,0.25
text: "Back Home"
on_release: app.root.current = "main"
pos_hint:{"right":1, "top":1}
python代码:
from kivy.app import App
#kivy.require("1.9.1")
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen , FadeTransition
from kivy.uix.widget import Widget
from kivy.graphics import Line
from kivy.uix.textinput import TextInput
class MainScreen(Screen):
def get_text(self,*args):
textinput= self.ids.user_text
user= TextInput.text
print(user)
class SecondScreen(Screen):
pass
class ScreenManagement(ScreenManager):
pass
gui = Builder.load_file("main.kv")
class MainApp(App):
def build(self):
return gui
MainApp().run()
当您在 kv
中编码时,您可以直接绑定,就像您 调用 函数一样
on_release: do_this()
但你没有加括号,就好像它是一个随意的 python 绑定:
self.bind(on_release=do_this)
添加括号,它应该打印:
on_release: root.get_text()
我想在以后的项目中使用它,我只想通过单击 MainScreen
上的按钮打印来自 TextInput
的用户输入,但是当我 运行 和单击带有文本 "Print Text" 的按钮,没有任何反应,没有错误,也没有输出。
.kv 文件:
#: import FadeTransition kivy.uix.screenmanager.FadeTransition
ScreenManagement:
transition: FadeTransition()
MainScreen:
SecondScreen:
<MainScreen>:
name: "main"
Button:
on_release: root.get_text
text: "Print Text"
font_size: 50
size_hint:0.3,0.1
TextInput:
text:"Hello World"
size_hint: 0.35,0.25
pos_hint:{"right":1, "top":1}
color:1,0,0,1
id: user_text
Button:
color: 0,1,0,1
font_size: 25
size_hint: 0.3,0.25
text: "Continue"
on_release: app.root.current = "other"
pos_hint:{"right":1, "top":0}
<SecondScreen>:
name: "other"
FloatLayout:
Button:
color: 0,1,0,1
font_size: 25
size_hint: 0.3,0.25
text: "Back Home"
on_release: app.root.current = "main"
pos_hint:{"right":1, "top":1}
python代码:
from kivy.app import App
#kivy.require("1.9.1")
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen , FadeTransition
from kivy.uix.widget import Widget
from kivy.graphics import Line
from kivy.uix.textinput import TextInput
class MainScreen(Screen):
def get_text(self,*args):
textinput= self.ids.user_text
user= TextInput.text
print(user)
class SecondScreen(Screen):
pass
class ScreenManagement(ScreenManager):
pass
gui = Builder.load_file("main.kv")
class MainApp(App):
def build(self):
return gui
MainApp().run()
当您在 kv
中编码时,您可以直接绑定,就像您 调用 函数一样
on_release: do_this()
但你没有加括号,就好像它是一个随意的 python 绑定:
self.bind(on_release=do_this)
添加括号,它应该打印:
on_release: root.get_text()