Python 如何使用从另一个类获取的值刷新/重新初始化一个类?
因此,问题的标题大致概括了这一点。如果我有太多的信息,我会提前道歉,因为我不知道问题发生的确切位置,但问题是在Python 如何使用从另一个类获取的值刷新/重新初始化一个类?,python,tkinter,Python,Tkinter,因此,问题的标题大致概括了这一点。如果我有太多的信息,我会提前道歉,因为我不知道问题发生的确切位置,但问题是在类起始页和类第一页之间的过渡中。我基本上想从第一个按钮获取文本(我稍后会添加更多)并从名称与按钮文本匹配的文件中获取数据。然后,这些数据将添加到PageOne中的for循环中。然而,尽管函数transition() 如果以后要调用,则需要将数据添加代码移动到单独的方法中。\uuuu init\uuuu方法中的内容在创建实例时执行,以后不再执行 class PageOne(tk.Frame
类起始页
和类第一页之间的过渡中。
我基本上想从第一个按钮
获取文本(我稍后会添加更多)并从名称与按钮文本匹配的文件中获取数据。然后,这些数据将添加到PageOne
中的for循环中。然而,尽管函数transition()
如果以后要调用,则需要将数据添加代码移动到单独的方法中。
\uuuu init\uuuu
方法中的内容在创建实例时执行,以后不再执行
class PageOne(tk.Frame):
print("PageOne initialised")
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.f1=tk.Frame(self, width="1300", height="200", bd=6, relief="raise")
self.f1.pack()
label = tk.Label(self.f1, text="Title2")
label.pack(pady=10, padx=10)
button1 = tk.Button(self, text="Back to Home",
command=lambda: controller.show_frame(startPage))
button1.pack()
def add_data(self):
for d in variables.data1:
sld_label= tk.Label(self.f1, text= d.givename() + "\n" + d.givedet())
sld_label.pack()
完成后,可以从另一个类调用该方法,如下所示:
def transition(self,controller,source):
data1,data2=lasdata(source)
variables.data1=data1
variables.data2=data2
controller.frames[PageOne].add_data() # update the other page
controller.show_frame(PageOne)
我对python非常陌生,因此如果问题格式错误或不实用,请原谅。我建议您从阅读以下答案中链接的一些答案开始:非常感谢
controller.frames[PageOne].add_data()
。
def transition(self,controller,source):
data1,data2=lasdata(source)
variables.data1=data1
variables.data2=data2
controller.frames[PageOne].add_data() # update the other page
controller.show_frame(PageOne)