Kivy сравнить со слабой - PullRequest
0 голосов
/ 07 мая 2018

Как мне сравнить, если слабый киви указывает на данный объект?

Установка:

>>> my_obj
<__main__.Marker object at 0x610054ee8> 

>>> my_list
[<weakref at 0x6100662c8; to 'Marker' at 0x610054ee8>]

Мой список конкретно touch.grab_list происходит от события kivy touch и содержит слабые ссылки на все захваченные виджеты.

Я хотел бы сделать что-то вроде if my_obj in my_list: и получить True, но ясно, что это возвращает False, потому что слабые ссылки и my_obj - это разные объекты. Каков будет правильный подход?

1 Ответ

0 голосов
/ 07 мая 2018

Извините, я чувствую себя глупо, просто наткнулся на решение.

Слабый реф возвращает объект при вызове. Таким образом, мы можем использовать это и map:

>>> my_obj in map(lambda x: x(), my_list)
True
...