Python:来自另一个模块的Tkinter访问变量

时间:2014-05-27 14:32:25

标签: python tkinter

在我的代码中的某处我导入了这个模块:

import sModule as s

并初始化我的主要Tkinter窗口,如下所示:

base = tk.Tk()

mw = MainWindow(base).grid()
s.parent = sys.modules[__name__]

base.mainloop()

MainWindow类是这样的:

class MainWindow(tk.Frame): 
  def __init__(self, parent):
    self.info1 = tk.StringVar()
    self.info2 = tk.StringVar()

我尝试做的是访问info1中的info2sModule,如下所示:

parent.mw.info1.set(str1)

我收到了这个错误:

  

AttributeError:' NoneType'对象没有属性' info1'

哪一部分错了?

1 个答案:

答案 0 :(得分:3)

替换以下行:

mw = MainWindow(base).grid()

使用:

mw = MainWindow(base)
mv.grid()

为什么呢? grid()不返回任何内容;隐式返回None