У меня есть функция, которая добавляет собственный виджет для каждого элемента в списке.Ярлык (дочерний элемент пользовательского виджета) должен отображать элемент, для которого он был добавлен, в виде текста (элемент в списке наблюдения).В своем текущем состоянии каждый добавляемый пользовательский виджет отображает один и тот же текст.Что очевидно, все ссылаются на одни и те же переменные.Я еще не нашел способ ссылаться на текст пользовательских меток виджетов на элементы списка.
То есть первый добавленный виджет имеет текст метки: добавлен второй виджет 'Secunet' с текстом метки: 'Wirecard' и т. Д....
py файл
# the variables and lists
watchlist_stock_ticker = StringProperty()
watchlist_stock_name = StringProperty()
watchlist_numbers = [0, 1]
watchlist_tickers = ['YSN.DE', 'WDI.DE']
# list with the variables to be displayed
watchlist_names = ['Secunet', 'Wirecard']
# the function to add the custom widgets
def load_stock_watchlist(self, layout):
layout.clear_widgets()
for n in self.watchlist_numbers:
self.watchlist_stock_ticker = self.watchlist_tickers[n]
self.watchlist_stock_name = self.watchlist_names[n]
layout.add_widget(StockWatchlist())
и часть пользовательского виджета (FloatLayout), включая метку:
kv file
<StockWatchlist>
size_hint: None, None
height: app.root.height * .13
width: app.root.width -10
Button:
pos: root.pos
on_release:
app.go_screen(4)
app.load_popup2()
app.update_current(watchlistticker.text, watchlistcompany.text)
BoxLayout:
orientation: "vertical"
pos: root.pos
size_hint: None, None
height: app.root.height * .13
width: app.root.width -10
# this is the label that should have its text matching
# with the list item it was added for
Label:
text: app.watchlist_stock_name