2017-07-13 10 views
-1

私のPythonプロット関数の呼び出し元の属性のエラーに遭遇した基本GUIを記述しようとしています:ボタンインスタンスに属性 'get'がありません。tkinter:ボタンのインスタンスに属性 'get'がありません

私は、これは同様の問題可能性があり実現:私はすでに文字列型を必要とするエントリの呼び出しごとにtk.StringVar()を実装しましたがPython Tkinter: AttributeError: Checkbutton instance has no attribute 'get'

私はそれが.get()で空のエントリを呼び出して解決策に到着していないと感じることがあります。

HERESに私のコード:

root=tk.Tk() 
label=tk.Label(root, text='Input Fitting Range nm to nm') 
label.pack() 

entry_Rmin=tk.Entry(root) 
entry_Rmax=tk.Entry(root) 
entry_Rmin.pack() 
entry_Rmax.pack() 

label_dir=tk.Label(root,text='Spectra File Directory') 
label_dir.pack() 

a=tk.StringVar() 
entry_SPEDir=tk.Entry(root,textvariable=a) 
entry_SPEDir.pack() 

label_csv=tk.Label(root,text='Temperature CSV File Directory') 
label_csv.pack() 

b=tk.StringVar() 
entry_CSVDir=tk.Entry(root,textvariable=b) 
entry_CSVDir.pack() 

label_csvColnames=tk.Label(root,text='Name of Temperature and Temperature 
Error Columns') 
label_csvColnames.pack() 

c=tk.StringVar() 
d=tk.StringVar() 
entry_colTemp=tk.Entry(root,textvariable=c) 
entry_colTemperr=tk.Entry(root, textvariable=d) 
entry_colTemp.pack() 
entry_colTemperr.pack() 

label_SpecLineint=tk.Label(root,text='Run indicator in SPE file name (two max)') 
label_SpecLineint.pack() 

e=tk.StringVar() 
f=tk.StringVar() 
entry_ind1=tk.Entry(root,textvariable=e) 
entry_ind2=tk.Entry(root,textvariable=f) 
entry_ind1.pack() 
entry_ind2.pack() 

label_modelDir=tk.Label(root,text='Model Data Directory') 
label_modelDir.pack() 

g=tk.StringVar() 
entry_modDir=tk.Entry(root, textvariable=g) 
entry_modDir.pack() 

b=tk.Button(text="OK") 
b.pack() 

def callback(event=None): 
    A=b.get() 
    B=c.get() 
    C=d.get() 
    D=a.get() 
    E=e.get() 
    F=f.get() 
    G=float(entry_Rmin.get()) 
    H=float(entry_Rmax.get()) 
    I=g.get() 
    RunPeak(A,B,C,D,E,F,G,H,I) #This is the function that generate my plots 

b.config(command=callback) 
root.mainloop()enter code here 

Exception in Tkinter callback 
Traceback (most recent call last): 
    File "C:\Anaconda2\lib\lib-tk\Tkinter.py", line 1537, in __call__ 
    return self.func(*args) 
    File "<ipython-input-89-fedb6adbebec>", line 6, in callback 
    A=b.get() 
AttributeError: Button instance has no attribute 'get' 

編集:GUIを生成しないが、私は、私はエラーを取得し 'OK' ボタンをクリックしたとき。

GUIをコード化しようとすると、おそらく粗いコードが残念です。

+0

回答この質問TKモジュールを使用していないが:あなたはどう思いますかを 'B'がありますか?あなたはそれが実際にあなたのものだと思いますか? –

+0

ああ、多分 'b'は実際には変数型の文字列であり、文字列自体ではありませんか? – OJC

+1

bを複数回宣言しました。わかりやすい名前を使用する理由の良い例です。 –

答えて

-2

ためプロンプト「はAttributeError」のソースコードを参照するには、個人アドバイス、私は

+0

これは答えではありません。 –

関連する問題