为了账号安全,请及时绑定邮箱和手机立即绑定

如何从类中获取可变数据

如何从类中获取可变数据

天涯尽头无女友 2019-09-03 19:41:26
这是一个较长的应用程序的缩写示例,其中我有多个小部件页面收集用户输入的信息。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
提交
取消
意见反馈 帮助中心 APP下载
官方微信