パスを返すだけの参照ボタンを持つGUIを作成しています。私は以下のようなコードを使用したソリューションを見てきました。
Tkinter.Button(subframe, text = "Browse", command = self.loadtemplate, width = 10).pack()
def loadtemplate(self):
filename = tkFileDialog.askopenfilename(filetypes = (("Template files", "*.tplate")
,("HTML files", "*.html;*.htm")
,("All files", "*.*") ))
if filename:
try:
self.settings["template"].set(filename)
except:
tkMessageBox.showerror("Open Source File", "Failed to read file \n'%s'"%filename)
ただし、Tkinterにはaskopenfilename
が組み込まれており、これはファイルを開くための非常に簡単な1行のコードです。これを変更してファイルではなくディレクトリを返す方法はありますか?私が投稿したコードの大きな塊よりも小さなオプションはありますか?
tkFileDialog.askdirectory
動作するはずです。 ドキュメント
このコードは役に立つかもしれません。
from tkinter import filedialog
from tkinter import *
root = Tk()
root.withdraw()
folder_selected = filedialog.askdirectory()