У меня есть главная страница с 8 различными фреймами.В каждом фрейме есть кнопка «Назад», которая ведет фрейм на главную страницу.Также у меня есть конвертер кадров, который выполняет некоторые математические операции, необходимые во всех кадрах.В рамке конвертера также есть кнопка «Назад», но кнопка «Назад» снова ведет рамку на главную страницуЯ хочу вернуться от кадра конвертера к предыдущему кадру, а не к главной странице.
import tkinter as tk
from tkinter import ttk
class Application(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
tk.Tk.wm_title(self, "Geodesic Calculations")
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 = {}
for F in (StartPage, A_section, B_section, C_section, D_section,
E_section, F_section, G_section, H_section, Converter):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
return frame
Раздел A: (один из 8 кадров)
class A_section(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
btton = ttk.Button(self, text="Converter",
command=lambda: controller.show_frame(Converter))
btton.grid(row=0, column=5)
button1 = ttk.Button(self, text="Back",
command=lambda: controller.show_frame(StartPage))
button1.grid(row=0, column=0)
Кадр конвертера:
class Converter(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
button1 = ttk.Button(self, text="Back",
command=lambda: controller.show_frame(StartPage))
button1.grid(row=0, column=0)
Например, когда я нахожусь в секции A, я хочу использовать конвертер, делать вычисления и затем возвращаться в секцию A с кнопкой «Назад» в кадре конвертера.Но кнопка «Назад» во фрейме конвертера возвращается на домашнюю страницу, а не в раздел А. Как показано в коде, в классе конвертера есть кнопка «Назад», которая ведет фрейм на главную страницу, как мне изменитьчасть кода «controller.show_frame (StartPage)», поэтому в параграфах должно быть имя раздела, к которому я хочу вернуться, а не «StartPage».