I have two classes. One is ScrollListbox witch contains current_ind. Another class named OptionSelector contains ScrollListbox object and needs current_ind
Problem is that ScrollListBox changes current_ind correctly, but OptionSelector always get current_ind as 0 value
There are crucial part of code
class ScrollListbox(tk.Frame):
def __init__(self, master=None, **kwargs):
super().__init__(master)
self.current_ind = 0
self.listbox = tk.Listbox(self, selectmode=tk.SINGLE, **kwargs)
...
def select_next(self, event):
self.current_ind = (self.current_ind + 1) % self.listbox.size()
self.select_line(self.current_ind)
def select_previous(self, event):
self.current_ind = (self.current_ind - 1) % self.listbox.size()
self.select_line(self.current_ind)
...
class OptionSelector(tk.Frame):
def __init__(self, master=None, **kwargs):
super().__init__(master)
self.selected_line_ind: int = self.scroll_listbox.current_ind
self.scroll_listbox.bind_all('<Return>', self.select_line)
...
def select_line(self, event):
print(self.scroll_listbox.current_ind)
self.selected_line_ind = self.scroll_listbox.current_ind
Full code in comments