这是一个较长的应用程序的缩写示例,其中我有多个小部件页面收集用户输入的信息。MyApp将每个页面实例化为一个类。在该示例中,PageTwo希望打印StringVar的值,该值存储来自PageOne中的Entry小部件的数据。我怎么做?我尝试过的每一次尝试都以一个或另一个例外结束。from tkinter import *from tkinter import ttkclass MyApp(Tk): def __init__(self): Tk.__init__(self) container = ttk.Frame(self) container.pack(side="top", fill="both", expand = True) self.frames = {} for F in (PageOne, PageTwo): frame = F(container, self) self.frames[F] = frame frame.grid(row=0, column=0, sticky = NSEW) self.show_frame(PageOne) def show_frame(self, cont): frame = self.frames[cont] frame.tkraise()class PageOne(ttk.Frame): def __init__(self, parent, controller): ttk.Frame.__init__(self, parent) ttk.Label(self, text='PageOne').grid(padx=(20,20), pady=(20,20)) self.make_widget(controller) def make_widget(self, controller): self.some_input = StringVar self.some_entry = ttk.Entry(self, textvariable=self.some_input, width=8) self.some_entry.grid() button1 = ttk.Button(self, text='Next Page', command=lambda: controller.show_frame(PageTwo)) button1.grid()class PageTwo(ttk.Frame): def __init__(self, parent, controller): ttk.Frame.__init__(self, parent) ttk.Label(self, text='PageTwo').grid(padx=(20,20), pady=(20,20)) button1 = ttk.Button(self, text='Previous Page', command=lambda: controller.show_frame(PageOne)) button1.grid() button2 = ttk.Button(self, text='press to print', command=self.print_it) button2.grid() def print_it(self): print ('The value stored in StartPage some_entry = ')#What do I put here #to print the value of some_input from PageOneapp = MyApp()app.title('Multi-Page Test App')app.mainloop()
1 回答
- 1 回答
- 0 关注
- 254 浏览
添加回答
举报
0/150
提交
取消