我是Python的初学者。问:我有两个模块,我想使用一个变量(自变量)这在module2中存在,但我仍然有相同的错误(AttributeError:type对象'mod2Class'没有属性'vari'),甚至尝试另一种方法。你知道吗
我将用以下代码对此进行示例:
你知道吗========= #模块2:
import tkinter as tk
class mod2Class:
def __init__(self, parent):
self.vari=tk.StringVar()
self.vari.set('Variable Value')
self.txtBox2 = tk.Text(parent, width=10)
self.txtBox2.grid(row=0, column=2)
模块1
import tkinter as tk
from mod2 import mod2Class
class mod1Class(mod2Class):
def __init__(self,parent):
mod2Class.__init__(self,parent)
self.lbl1=tk.Label(parent,width=15,text=mod2Class.vari)
self.lbl1.grid(row=0,column=0)
s=tk.Tk()
n=mod1Class(s)
s.mainloop()
=========================
如果有任何帮助,我将不胜感激
在模块1中,您将所需的变量称为:
您调用了mod2Class.init(),self作为第一个参数,这使模块1中的类成为mod2Class的实例。您还希望从变量中获取文本,而不仅仅是对象。因此,将该行更改为:
经过一点研究,我已经证实了我的另一个想法,那就是需要向StringVar传递一个Tk窗口。创建时尝试传递父窗口自变量. 你知道吗
相关问题 更多 >
编程相关推荐