diff --git a/.gitignore b/.gitignore index 2c1c0b6..14ecd7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,3 @@ *.mp4 *.csv *.png -__pycache__/ -*.pyc -*.pyo -*.pyd -*.pyw -*.pyz -*.pywz diff --git a/gui_app.py b/gui_app.py index fe3eec6..075a32a 100644 --- a/gui_app.py +++ b/gui_app.py @@ -3,6 +3,7 @@ import tkinter.filedialog import threading import time +import os from PIL import Image, ImageOps, ImageTk @@ -86,12 +87,12 @@ # 映像ファイルを開く def open_movie(self): - filename = tk.filedialog.askopenfilename(filetypes=[("mp4", "*.mp4")]) - if filename == "": # cancel + self.moviefilename = tk.filedialog.askopenfilename(filetypes=[("mp4", "*.mp4")]) + if self.moviefilename == "": # cancel return # 映像読み込み(ワーカースレッド) - thread = threading.Thread(target=self.lp.load_movie, args=(filename,)) + thread = threading.Thread(target=self.lp.load_movie, args=(self.moviefilename,)) thread.start() while thread.is_alive(): self.progressbar.configure(value=len(self.lp.frames) % 100) @@ -102,7 +103,7 @@ # self.lp.load_movie(filename) # 読み込み後の処理 - self.file_text.config(text=filename) + self.file_text.config(text=self.moviefilename) self.time_slider.set(0) self.time_slider.config(to=self.lp.frame_count - 1) self.is_analyzed = False @@ -113,7 +114,11 @@ # 分析結果を保存 def on_save(self): - self.lp.csv_output("result.csv") + fn = os.path.splitext(os.path.basename(self.moviefilename))[0] + filename = tk.filedialog.asksaveasfilename(initialfile=fn + "_分析結果.csv", filetypes=[("csv", "*.csv")]) + if filename == "": # cancel + return + self.lp.csv_output(filename) # スライダー操作イベント def on_time_slider_change(self, event):