お世話になっております。
PythonのTkinterのGUIから読込みたいファイルのパスを取得したいのですが戻り値がNoneとなり、パスが取得できません。
### ディレクトリ
main.py
read_file.py
sample.xlsx
templates
|-index.html
main.py
python
1# -*- coding: utf-8 -*- 2from flask import Flask, render_template 3import os 4import read_file as rf 5import tkinter 6from tkinter import ttk, filedialog, messagebox 7 8app = Flask(__name__) 9 10@app.route('/', methods=['GET', 'POST']) 11def index(): 12 f = rf.draw_GUI() 13 print(f) #Noneになる 14 return render_template('index.html') 15 16if __name__ == '__main__': 17 port = int(os.getenv('PORT', 5000)) 18 app.run(host='0.0.0.0', port=port, threaded=True, debug=True)
read_file.py
python
1import tkinter 2from tkinter import ttk, filedialog, messagebox 3 4def draw_GUI(): 5 tk = tkinter.Tk() 6 tk.geometry('500x500') 7 tk.title('Select input File') 8 9 def ask_file(): 10 path = filedialog.askopenfilename() 11 file_path.set(path) 12 13 def submit(): 14 input_dir = file_path.get() 15 return input_dir 16 17 file_path = tkinter.StringVar() 18 19 frm = ttk.Frame(tk) 20 frm.grid(column=0, row=0, sticky=tkinter.NSEW, padx=5, pady=10) 21 22 filepath_label = ttk.Label(frm, text='ファイル指定') 23 filepath_box = ttk.Entry(frm, textvariable=file_path) 24 filepath_btn = ttk.Button(frm, text='参照', command=ask_file) 25 submit_btn = ttk.Button(frm, text='実行', command=submit) 26 27 filepath_label.grid(column=0, row=0, pady=10) 28 filepath_box.grid(column=1, row=0, sticky=tkinter.EW, padx=5) 29 filepath_btn.grid(column=2, row=0) 30 submit_btn.grid(column=1, row=1) 31 32 tk.columnconfigure(0, weight=1) 33 tk.rowconfigure(0, weight=1) 34 frm.columnconfigure(1, weight=1) 35 36 tk.mainloop()
http://localhost:5000/にアクセスすると添付のような画面になり参照ボタンを押すと選択したファイルのパスがテキストボックスに入力されるのですが、実行ボタンを押した時に変数に入れる事が出来ない状態です。
実行ボタンを押した時に変数にファイルのパスを取得して、tkinterを終了したいのですがどこを修正したら良いか教えて頂けませんでしょうか。
宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/03 00:03