web-dev-qa-db-ja.com

Pythonでtkinterを使用してディレクトリを選択し、場所を保存する方法

パスを返すだけの参照ボタンを持つ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行のコードです。これを変更してファイルではなくディレクトリを返す方法はありますか?私が投稿したコードの大きな塊よりも小さなオプションはありますか?

26
Brad Conyers

tkFileDialog.askdirectory動作するはずです。 ドキュメント

67
mgilson

このコードは役に立つかもしれません。

from tkinter import filedialog
from tkinter import *
root = Tk()
root.withdraw()
folder_selected = filedialog.askdirectory()
8
Siva Madugula