Перетаскивание Kivy из ListViewPython

Программы на Python
Anonymous
Перетаскивание Kivy из ListView

Сообщение Anonymous »

Я пытаюсь настроить ListView так, чтобы

1) Когда выбор был сделан, этот выбор удалялся из ListView

2) Создается Scatter с меткой с текстом выделения

3) Тем же щелчком Scatter перетаскивается на экране

4) Scatter удаляется после отпускания щелчка.

Я сделал это в tkinter и пытаюсь перенести это на Kivy. По большей части это довольно просто, но я столкнулся с парой проблем. Первая проблема, с которой я столкнулся, — это выбор ListView. Событие on_touch_down ListView запускается до события on_selection_change адаптера ListView, поэтому, если я привязываюсь к on_touch_down, я получаю предыдущий выбор, а не текущий. Вторая проблема — перетаскивание Scatter. Цель состоит в том, чтобы пользователь одним щелчком мыши мог сделать выбор из ListView, появился Scatter и перетащил его по экрану, а затем удалил Scatter, когда будет отпущен щелчок. Я попытался использовать touch.grab() в следующем методе, который был привязан к on_touch_down ListView

Код: Выделить всё

def onPress(self, view, touch):
if view.collide_point(touch.x, touch.y):
self.floatLayout.add_widget(self.scatter)
touch.grab(self.scatter)
Но когда я нажимаю на ListView, я получаю ошибку TypeError: невозможно создать слабую ссылку на объект «weakproxy», несмотря на наличие keyScatter: keyScatter.__self__< /code> в моем файле .kv, а keyScatter — это идентификатор self.scatter.

Есть ли хорошее решение любой проблемы ?

Подробнее здесь: https://stackoverflow.com/questions/238 ... m-listview

Вернуться в «Python»