У меня есть приложение Kivy, в котором есть прокрутка. В этом scrollview есть boxlayout, который содержит довольно большое количество изображений и изменяется во время выполнения (он может go от 1 до 300 в любое время). Когда происходит событие касания, мне нужно знать, на каком изображении нажал пользователь (имеется в виду, какие из них были включены в данный момент, поскольку они могут прокручиваться вверх и вниз), и, возможно, даже получить координаты нажатия относительно изображение, а не весь экран (мне нужно рисовать в том месте, где они нажимали, и я не могу это сделать, не зная, на какое изображение они нажали и где). Как я могу это сделать?
Вот как это определено в файле kv:
MyScrollView:
bar_color: [1, 0, 0, 1]
id: notebook_scroll
padding: 0
spacing: 0
do_scroll: (False, True) # up and down
BoxLayout:
padding: 0
spacing: 0
orientation: 'vertical'
id: notebook_image
size_hint: 1, None
height: self.minimum_height
MyImage:
<MyImage>:
source: 'images/notebook1.png'
allow_stretch: True
keep_ratio: False
size: root.get_size_for_notebook()
size_hint: None, None
По сути, это бесконечная записная книжка, и во время выполнения код python добавляет больше объектов «MyImage» в boxlayout (который является фотографией страницы блокнота).