Я использую python-2.7
и kivy 1.10.0
.Я добавляю динамическую строку с помощью кнопки +Add More
.Я использую on_text
событие в каждом динамическом TextInput
.Может ли кто-нибудь помочь мне, как посчитать dynamic
row on_text
событие?На этом изображении вы можете видеть 2 rows
. Когда я набираю любой TextInput
, а затем on_text
вызов события. На этот раз как подсчитать общее количество строк?
test.py
from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty
Window.size = (450, 525)
class display(Screen):
def add_more(self):
self.ids.rows.add_row()
class Row(BoxLayout):
button_text = StringProperty("")
def count_row(self):
print('count row')
class Rows(BoxLayout):
orientation = "vertical"
row_count = 0
def __init__(self, **kwargs):
super(Rows, self).__init__(**kwargs)
self.add_row()
def add_row(self):
self.row_count += 1
self.add_widget(Row(button_text=str(self.row_count)))
class test(App):
def build(self):
#self.root = Builder.load_string(KV)
return self.root
test().run()
test.kv
<Row>:
orientation: "horizontal"
spacing: 0, 5
Button:
text: root.button_text
size_hint_x: .2
TextInput:
size_hint_x: .8
on_text: root.count_row()
display:
BoxLayout:
orientation: "vertical"
padding : 20, 20
BoxLayout:
orientation: "horizontal"
Button:
size_hint_x: .2
text: "+Add More"
valign: 'bottom'
on_press: root.add_more()
BoxLayout:
orientation: "horizontal"
Rows:
id: rows