【发布时间】:2017-12-04 09:29:30
【问题描述】:
我正在尝试使用 TextInput 小部件作为 Kivy 中的单个元素创建一个带有 RecycleView 小部件的可编辑表格。通过查看示例和网络上的一些帖子,我能够编写一个接受用户输入的表格。
现在我正在尝试获取用户编辑的行。我可以找到文本输入的 on_text 事件,但这并没有提供有关行号的信息。我还尝试查看可用于 RecycleView 的事件,但无法从中获得太多帮助。
你们中的任何人都可以引导我走上正确的道路吗?我对kivy还很陌生。我附上了一个我正在研究的简单示例。
from kivy.app import App
from kivy.uix.recycleview import RecycleView
from kivy.lang import Builder
Builder.load_string('''
<Row@BoxLayout>:
canvas.before:
Color:
rgba: 0.5, 0.5, 0.5, 1
Rectangle:
size: self.size
pos: self.pos
itemText: ''
TextInput:
id:CellText
text:root.itemText
<RV>:
id: rv
viewclass: 'Row'
scroll_type: ['bars', 'content']
scroll_wheel_distance: dp(114)
bar_width: dp(10)
RecycleGridLayout:
cols:3
default_size: None, dp(30)
default_size_hint: 1, None
size_hint_y: None
height: self.minimum_height
orientation: 'vertical'
spacing: dp(1)
''')
class RV(RecycleView):
def __init__(self, **kwargs):
super(RV, self).__init__(**kwargs)
self.data = [{'itemText':'1'}, {'itemText':'John'}, {'itemText':'K'}, {'itemText':'2'}, {'itemText':'David'}, {'itemText':'P'}]
class rvTestApp(App):
def build(self):
return RV()
if __name__ == '__main__':
rvTestApp().run()
【问题讨论】: