我在使用self时遇到了一个非常令人困惑的错误:
这里,我用tkinter创建了两个具有两个不同类的页面。一页显示雇员信息,另一页允许用户将数据添加到主页(显示数据的窗口)上的列表框中。我试图将信息添加到列表框中,但出现错误'NewEmployee' object has no attribute 'listbox'
。
在下面您可以看到我清楚地在使用自我。对于我已创建的列表框,错误显示了另一个不在列表框内的类?
class MainPageGUI:
def __init__(self, master):
self.master = master
self.master.title("Jans Corp")
self.master.configure(background='lightgrey')
self.master.geometry("1200x800")
self.listbox = tk.Listbox(self.master,width=150, height=35)
self.listbox.place(x=150, y = 130)
@staticmethod
def DisplayData(self):
a = Database(self.master)
for data in enumerate(a.ReadData()):
self.listbox.insert(1, data) #getting error here
允许用户使用输入框和按钮添加emplyoee数据的类。(不完整):
class NewEmployee:
def __init__(self, master): #Creating basic GUI to add employees
self.master = master
self.master.title("Jans Corp")
self.master.configure(background="lightgrey")
self.master.geometry("300x500")
当我在NewEmployee
中创建并使用self时,编译器为何说MainPageGUI
类没有“列表框”时,我感到困惑。
如果有人想查看代码:https://github.com/Sharjeel50/Database-System/blob/master/New%20Project1.py
任何帮助或解释将不胜感激!
答案 0 :(得分:1)
如果您想在self.master
中使用DisplayData
,请删除@staticmethod
装饰器,并在self.master = master
中包含__init__
。