无法在 KIVY Python 中打印取自 kivy.uix.textinput.TextInput 的文本
Posted
技术标签:
【中文标题】无法在 KIVY Python 中打印取自 kivy.uix.textinput.TextInput 的文本【英文标题】:Not able to print the text taken from kivy.uix.textinput.TextInput in KIVY Python 【发布时间】:2021-07-17 09:29:22 【问题描述】:我想做的是从 kivy.uix.textinput.TextInput() 获取输入并将其显示在屏幕上。
我是 gui 编程的新手,我认为这是一项简单的任务。
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
class MyWindowApp(App):
def __init__(self):
super(MyWindowApp, self).__init__()
self.lbl = Label(text='Read Me!')
self.inp = TextInput(multiline=False,
size_hint =(1, 0.05),
pos_hint = "x":0, "y":0.05)
def build(self):
self.inp.bind(on_text_validate=self.on_enter)
#self.bt1.bind(on_press=self.clk)
layout = FloatLayout()
layout.orientation = 'vertical'
layout.add_widget(self.lbl)
layout.add_widget(self.inp)
return layout
def on_enter(self,value):
print(value)
def clk(self, obj):
print ('input')
x = input()
self.lbl.text = x
window = MyWindowApp()
window.run()
当我运行代码时,我会得到常规的输出输出。
当我在文本框中输入“hello world”时,输出如下:
<kivy.uix.textinput.TextInput object at 0x03F5AE30>
我没有得到我输入的内容。
请建议我该怎么做
【问题讨论】:
【参考方案1】:修改如下...
def on_enter(self, value):
print(value.text)
【讨论】:
以上是关于无法在 KIVY Python 中打印取自 kivy.uix.textinput.TextInput 的文本的主要内容,如果未能解决你的问题,请参考以下文章
使用 buildozer 在 android 上部署 kivy 应用程序时出错