如何打印来自kivy循环的文本输入
how to print the text inputs from the loop in kivy
我想在按下按钮时打印所有用户文本输入。当我按下按钮打印输入时出现错误 TypeError: p() takes 1 positional argument but 2 were given
的问题。只是想知道文本输入的数字可能因用户而异
from kivy.uix.textinput import TextInput
from kivy.app import App
from kivy.uix.button import Button
from kivy.lang.builder import Builder
kv=Builder.load_string('''
ScrollView:
GridLayout:
id:inputs
cols:1
row_force_default:True
row_default_height:30
size_hint_y:None
height:self.minimum_height
''')
class Accounting(App):
def build(self):return kv
def on_start(self):
self.return_list = [] #print this list
w = Button(text='print all the text inputs',on_press=self.p)
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
for i in range(5):
w = TextInput()
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
return self.return_list
def p(self):print(self.return_list)#here
Accounting().run()
当您单击按钮时,然后 Kivy
使用额外的参数运行它 p(widget)
这样您就可以将功能分配给许多按钮,您将看到单击了哪个按钮。
但是这意味着你必须在函数中获取这个值
def p(self, widget):
最少的工作代码。
如果您只需要 TextInput
中的文本,则从 return_list
中删除 Button
。
from kivy.uix.textinput import TextInput
from kivy.app import App
from kivy.uix.button import Button
from kivy.lang.builder import Builder
kv = Builder.load_string('''
ScrollView:
GridLayout:
id:inputs
cols:1
row_force_default:True
row_default_height:30
size_hint_y:None
height:self.minimum_height
''')
class Accounting(App):
def build(self):
return kv
def on_start(self):
self.return_list = [] #print this list
w = Button(text='print all the text inputs', on_press=self.p)
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
for i in range(5):
w = TextInput()
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
return self.return_list
def p(self, widget):
print('widget:', widget)
print('text :', widget.text)
for item in self.return_list:
print(item.text)
Accounting().run()
我想在按下按钮时打印所有用户文本输入。当我按下按钮打印输入时出现错误 TypeError: p() takes 1 positional argument but 2 were given
的问题。只是想知道文本输入的数字可能因用户而异
from kivy.uix.textinput import TextInput
from kivy.app import App
from kivy.uix.button import Button
from kivy.lang.builder import Builder
kv=Builder.load_string('''
ScrollView:
GridLayout:
id:inputs
cols:1
row_force_default:True
row_default_height:30
size_hint_y:None
height:self.minimum_height
''')
class Accounting(App):
def build(self):return kv
def on_start(self):
self.return_list = [] #print this list
w = Button(text='print all the text inputs',on_press=self.p)
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
for i in range(5):
w = TextInput()
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
return self.return_list
def p(self):print(self.return_list)#here
Accounting().run()
当您单击按钮时,然后 Kivy
使用额外的参数运行它 p(widget)
这样您就可以将功能分配给许多按钮,您将看到单击了哪个按钮。
但是这意味着你必须在函数中获取这个值
def p(self, widget):
最少的工作代码。
如果您只需要 TextInput
中的文本,则从 return_list
中删除 Button
。
from kivy.uix.textinput import TextInput
from kivy.app import App
from kivy.uix.button import Button
from kivy.lang.builder import Builder
kv = Builder.load_string('''
ScrollView:
GridLayout:
id:inputs
cols:1
row_force_default:True
row_default_height:30
size_hint_y:None
height:self.minimum_height
''')
class Accounting(App):
def build(self):
return kv
def on_start(self):
self.return_list = [] #print this list
w = Button(text='print all the text inputs', on_press=self.p)
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
for i in range(5):
w = TextInput()
self.return_list.append(w)
self.root.ids.inputs.add_widget(w)
return self.return_list
def p(self, widget):
print('widget:', widget)
print('text :', widget.text)
for item in self.return_list:
print(item.text)
Accounting().run()