Я пытаюсь создать приложение, в котором внутри основного фрейма есть два других фрейма (из стороны в сторону).
Левая рамка состоит из кнопок, которые всегда видны. Эти кнопки изменят содержимое правой рамки.
Я сделал это успешно, назначив каждую кнопку определению, которое воссоздает кнопки в левом кадре, очищает содержимое в правом кадре и переписывает то, что входит в правый кадр.
Это работает, но я хотел бы узнать больше о различных / более эффективных способах сделать это.
Последние пару дней я искал способ включения классов, и это то, что я нашел.
class SeaofBTCapp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand = True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
frame = StartPage(container, self)
self.frames[StartPage] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
Этот класс помогает создать контроллер, в котором вы можете перемещаться по кадрам.
У меня проблема с созданием рамки, которая всегда видна, поскольку def show_frame
изменяет содержимое всего окна.
У меня была идея, где я могу добавить эту структуру в класс с именем 'RightFrame', который не является основным окном, но я понятия не имею, как бы заставить фреймы и кнопки взаимодействовать друг с другом.
Я - полный новичок в кодировании, поэтому любые указатели были бы оценены.