get()缺少1个必要的位置参数:'self'

时间:2017-04-12 06:37:45

标签: python python-3.x

class CofficientsDialog :
    global a,b,c
    def __init__(self,master):
        self.x=DoubleVar
        self.y=DoubleVar
        self.z=DoubleVar

        self.master = master
        self.master.title('Cofficient')
        self.entry1 = Entry(self.master, textvariable=self.x).grid(row=0, column=0, sticky=E)
        self.entry2 = Entry(self.master, textvariable=self.y).grid(row=1, column=0, sticky=E)
        self.entry3 = Entry(self.master, textvariable=self.z).grid(row=2, column=0, sticky=E)

        self.label1=Label(self.master, text="X^2").grid(row=0,column=1, sticky=W)
        self.label2=Label(self.master, text="X").grid(row=1, column=1, sticky=W)

        self.label3=Label(self.master, text="+").grid(row=0, column=2, sticky=W+E+S+N)
        self.label4=Label(self.master, text="+").grid(row=1, column=2, sticky=W+E+S+N)
        self.btn_submit = Button(self.master, text="SUBMIT",
                                 command= lambda :self.submit()).grid(row=4, column=0, sticky=E)

    def submit(self):
        a=self.x.get()
        b=self.y.get()
        c=self.z.get()
        self.master.destroy()

我想获得EntryBOX的值,但我不断收到错误

文件“C:/ Users / *** / Desktop / Python Practice / Quadratic_Equation_Plot”,第27行,提交     一个= self.x.get() TypeError:get()缺少1个必需的位置参数:'self'

2 个答案:

答案 0 :(得分:1)

DoubleVar是一个类,要使用它,必须使用

实例化它
class ServiceSpec extends FlatSpec with Matchers with Service with ScalatestRouteTest

然后自动填充self参数。

答案 1 :(得分:0)

你需要放     master = self.master 在函数中