为什么我得到这个类tkinter.Entry.get()AttributeError错误?

时间:2018-04-16 15:59:50

标签: python python-3.x function user-interface tkinter

抱歉我的英语不好。

当我尝试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()

怎么做?

2 个答案:

答案 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。