抱歉我的英语不好。
当我尝试get()
来自课外的Entry
entry
时,我收到了错误。
错误:
AttributeError: 'function' object has no attribute 'entry' ""
示例代码:
class asd:
def gui(self, guiwindow, labelplacex, labelplacey, textx, texty, entryx, entryy):
self.root = tk
self.image = tk.PhotoImage(file=aimage_path)
self.label = tk.Label(image=self.image)
self.label.pack()
self.label.place(x=labelplacex , y=labelplacey)
self.text = Label(guiawindow, text="Code:")
self.text.pack()
self.text.place(x = textx,y = texty)
self.entry = Entry(guiwindow)
self.entry.pack()
self.entry.place(x = entryx,y = entryy)
self.button = Button(Tk(), text="Back Menu", command=self.asdfg)
self.button.pack()
self.root.mainloop()
asd.gui.entry.get()
怎么做?
答案 0 :(得分:2)
你有两个问题。首先,您需要创建asd
的实例,其次,您需要调用gui
方法。
例如,像这样:
asd_instance = asd()
asd_instance.gui(...)
asd_instance.entry.get()
不是:...
代表您需要传递给gui
的所有参数,这些参数与问题无关。关键是,您必须首先创建该类的实例,然后才能获得该实例的属性。在这种情况下,在调用gui
方法之前,您所需的属性将不存在。因此,您必须首先创建一个实例,然后调用gui
方法,然后才能访问该属性。
答案 1 :(得分:0)
请尝试asd.entry.get()
。
假设已经定义了self.entry,你应该能够通过调用类本身然后调用变量来访问它,因为单词“self'是指班级本身。
在这种情况下,gui只是一个函数,self.entry属于类asd,而不是函数gui。