我想创建一个类,它定义了许多设置为IntVar()的变量,以便稍后为它们赋值并在Entry小部件中调用它们。
现在我正在尝试:
import tkinter as tk
class ESCP2_Client(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
tk.Entry(textvariable=SetVars.var1).pack()
class SetVars(tk.Tk):
def __init__(self):
self.var1 = tk.IntVar()
app = ESCP2_Client()
vars = SetVars()
print(vars.var1)
app.mainloop()但是这(显然?)不起作用。但是我不能在__init__函数之前设置变量,因为IntVar()需要一个Tk()根目录。
如何调用在另一个类中定义的IntVar?
发布于 2016-12-30 01:58:11
您需要创建一个SetVars实例,然后在需要访问变量的任何地方使用该实例。例如,您可以将其创建为客户端__init__的一部分:
class ESCP2_Client(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.vars = SetVars()
tk.Entry(textvariable=self.vars.var1).pack()代码的其他部分可以通过客户端访问它们:
print("var1:", app.vars.var1.get())https://stackoverflow.com/questions/41383488
复制相似问题