2017-04-12 16 views
0
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の値を取得したいが、私はのget(): '自己'

ファイル「Cのエラーを取得維持しています:/ユーザー/ *** /デスクトップ1つの必要な位置引数が不足して取得()::/ Pythonの練習/ Quadratic_Equation_Plot」、27行目、中 = self.x.get() はTypeError提出する '自己'

+0

ヘルプが必要な場合は、問題の正確な内容を詳しく説明する必要があります。 –

+0

これは、彼が使用しているライブラリが分からず、人々が知っているように見えるので、確かにいくつかのタグがありません – Adirio

+0

Pythonのtkinter標準ライブラリです。 –

答えて

1

DoubleVarがクラスであるが、それを使用するには、それをインスタンス化する必要があります。

self.x = DoubleVar() 
self.y = DoubleVar() 
self.z = DoubleVar() 

この場合、selfパラメータは自動的に入力されます。

+0

私はすでにコンストラクターでそれを開始しています。私はSubmitメソッドで再度開始する必要がありますか? –

+0

クラス名 'DoubleVar'の後に'() 'が存在しなかったため、コンストラクタでそれらをインスタンス化しませんでした。インスタンス化コードを置き換えて試すことができます –

+0

ありがとうございました。それは今完全に実行されています –