Я новая разработка ООП и пользовательского интерфейса с использованием tkinter.В настоящее время у меня есть следующий код:
class Snapshot_app(Tk):
def __init__(self):
Tk.__init__(self)
container = Frame(self)
container.pack(side="top", fill="both", expand=True)
self.frames = {}
for F in (StartPage, PageOne,PageTwo):
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()
Class PageOne(Frame):
def __init__(self, parent, controller):
Frame.__init__(self, parent)
Label(self, text="Path to files").grid(row=1,column=0)
self.fname = Entry(self)
self.fname.grid(row=1, column=1)
app.frames[PageTwo].dummy = self.fname.get()
b = Button(self,text="Open Page 2",command=lambda:app.show_frame(PageTwo)).grid(row=2,column=1)
Class PageTwo(Frame):
def __init__(self, parent, controller,dummy=None):
Frame.__init__(self, parent)
self.data = dummy
print(self.data)
app = Snapshot_app()
app.title("Snapshot Tool")
app.geometry("1200x400")
app.mainloop()
В классе PageTwo выдается сообщение об ошибке self.data = None.Это означает, что я не могу передать фиктивную информацию из PageOne в PageTwo.Однако, если я помещу кнопку в PageTwo, событие которой запускает печать self.data, я смогу успешно получить данные из PageOne.Я хотел бы, однако, действительно избегать использования кнопки.Любые указатели и помощь будут высоко ценится!