tkinterのEntryにテキストをinsertしたい
ご覧いただきありがとうございます。
現在python3.6.6及びtkinterを使用し、GUIアプリケーションを作っております。
「保存フォルダ指定」のボタンを押すとユーザにディレクトリを選択させるよう促す仕組みを作っており、ディレクトリを指定させるところまではできたのですが、それ以降でエラーが発生しております。
具体的には
###self.dirBox.insert(0,self.master.txt.get())
の部分で
###AttributeError: 'Front' object has no attribute 'dirBox'
のメッセージが発生しており、それ以降の進みが止まっております。
以下ソースコードとなります。
python
1from tkinter import ttk 2from tkinter import messagebox 3from tkinter import filedialog 4import tkinter as Tk 5import os 6 7class Front(Tk.Frame): 8 9 def __init__(self, master=None): 10 Tk.Frame.__init__(self, master) 11 self.master.title('test') 12 self.master.txt = Tk.StringVar() 13 self.master.txt.set("select folder") 14 dirButton = ttk.Frame(self) 15 dirButton.grid(column=0,row=2) 16 b = ttk.Button(dirButton, text='保存フォルダ指定',command=self.chooseDir) 17 b.grid(padx=10,pady=5) 18 dirBox = ttk.Entry(self,font=('メイリオ', '20'),width=30) 19 dirBox.insert(0,self.master.txt.get()) 20 dirBox.grid(column=1, row=2,pady=5) 21 22 #ディレクトリ指定 23 def chooseDir(self): 24 fTyp = [("","*")] 25 iDir = os.path.abspath(os.path.dirname(__file__)) 26 filepath = filedialog.askdirectory(initialdir = dir) 27 self.master.txt.set(filepath) 28 self.dirBox.insert(0,self.master.txt.get()) 29 30if __name__ == '__main__': 31 32 f = Front() 33 f.pack() 34 f.mainloop()
試したこと
個人的な見解では関数側からdirBoxを認識できていないと思っているのですが、打開するための解決策を見つけられずにいます。
クラスの構成がやはりおかしいのでしょうか…何卒ご回答のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー