My tk имеет 2 кадра, каждый имеет древовидную структуру, созданную из пользовательского древовидного объекта.когда выбрана строка в древовидном представлении 1-го кадра, она сохраняется в переменной.когда пользователь переключается на 2-й кадр нажатием кнопки, значение, сохраненное в 1-м кадре, будет использоваться в качестве условия и отфильтровывает древовидную структуру во 2-м кадре.
Я собрал, пытаясь построить свой tkinter на основе структуры классаздесь: https://stackoverflow.com/a/7557028/6620144
Я добавил пользовательский объект древовидной структуры, который вызывается обоими кадрами.
main_tree_selected=None
class program(tk.Tk):
def __init__(self, *args, **kwargs):
...
for F in (mainpage, editpage):
frame = F(container, self)
.....
class mastertreeview(object):
def __init__(self, connection, sel_statement, cond_clause=None, cond_value = None)):
....
def populate_tree(self)
....
class mainpage(tk.Frame):
def __init__(self, parent, controller):
main_tree = mastertreeview(connection, sql_statement, where_clause)
switch_button = tk.Button(command=lambda: self.controller.show_frame(editpage)
....
class editpage(tk.Frame):
def __init__(self, parent, controller):
edit_tree = mastertreeview(connection, sql_statement, where_clause, cond_value)
....
Я понимаю, что оба кадра настраиваются и строятся одновременно, включая дочернийвиджет. Мне было интересно, есть ли способ, которым я могу вызвать edit_tree
древовидную структуру и повторно заполнить дерево при нажатии switch_button
.