首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类的__init__(self)中设置IntVar,并在该类外部调用IntVar变量

在类的__init__(self)中设置IntVar,并在该类外部调用IntVar变量
EN

Stack Overflow用户
提问于 2016-12-30 00:23:18
回答 1查看 687关注 0票数 0

我想创建一个类,它定义了许多设置为IntVar()的变量,以便稍后为它们赋值并在Entry小部件中调用它们。

现在我正在尝试:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2016-12-30 01:58:11

您需要创建一个SetVars实例,然后在需要访问变量的任何地方使用该实例。例如,您可以将其创建为客户端__init__的一部分:

代码语言:javascript
复制
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()

代码的其他部分可以通过客户端访问它们:

代码语言:javascript
复制
print("var1:", app.vars.var1.get())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41383488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档