tkinterでアプリを作りながらオブジェクト指向を身に着けようと思っていたところ詰まってしまったので質問させていただきます。
オブジェクト指向についての質問になります。
python
1from tkinter import * 2from tkinter import ttk, 3 4def button_click(): 5 fileTyp = [("","*")] 6 iDir = os.path.abspath(os.path.dirname(__file__)) 7 filepath = filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir) 8 file1.set(filepath) # ←こんな感じで書けるのが理想なのですが 9 10class Tools_gui(object): 11 # rootの作成 12 13 root = Tk() 14 root.title('グループ一覧作成ツール') 15 16 17 # Frame1の作成 18 frame1 = ttk.Frame(root, padding=10) 19 frame1.grid() 20 21 # 参照ボタンの作成 22 select_button = ttk.Button(frame1, text=u'参照', command=button_click) 23 select_button.grid(row=0, column=3) 24 25 s = StringVar() 26 s.set('ファイル>>') 27 label1 = ttk.Label(frame1, textvariable=s) 28 label1.grid(row=0, column=0) 29 30 # 参照ファイルパス表示ラベルの作成 31 file1 = StringVar() 32 file1_entry = ttk.Entry(frame1, textvariable=file1, width=50) 33 file1_entry.grid(row=0, column=2) 34 35
- したいこと
変数file1にbutton_clickで取得したファイルパスをsetしたい。
- 問題点
上記のように記述すると変数file1に値をsetする動作をbutton_clickメソッドで行っているのでスコープの都合上出来ないかと思います。
だからと言ってbutton_clickでfilepathをリターンしたところでguiに変更が反映されることもないと思います。このような時はどうするのでしょう。
私はpythonの初心者なので、コードの書き方にそもそも問題がある場合は教えていただけると嬉しいです。
補足情報必要な場合は随時返答いたしますのでよろしくお願いいたします、
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/29 04:35