12

特定のファイルを見つけるためのブラウズ ウィンドウを備えた GUI を作成しようとしています。以前にこの質問を見つけました: Browsing file or directory Dialog in Python

用語を調べたところ、私が探していたものではないようでした。

必要なのは、ブラウザーから選択したファイルのパスを返す Tkinter ボタンから起動できるものだけです。

誰もこれのためのリソースを持っていますか?

編集:問題は解決しましたので、質問に回答しました。同様の質問がある人には、調査を行ってください。そこにあるコードは機能します。cygwin でテストしないでください。何らかの理由でそこで機能しません。

4

6 に答える 6

18

TkFileDialogが役立つと思います。

import Tkinter
import tkFileDialog
import os

root = Tkinter.Tk()
root.withdraw() #use to hide tkinter window

currdir = os.getcwd()
tempdir = tkFileDialog.askdirectory(parent=root, initialdir=currdir, title='Please select a directory')
if len(tempdir) > 0:
    print "You chose %s" % tempdir

編集:このリンクにはさらにいくつかの例があります

于 2013-11-13T03:41:17.430 に答える
4

これにより、ブラウザから選択したファイル パスを出力する「Browse」というボタンだけを持つ GUI が生成されます。ファイルのタイプは、コード セグメント <*.type> を変更することで指定できます。

from Tkinter import * 
import tkFileDialog

import sys
if sys.version_info[0] < 3:
   import Tkinter as Tk
else:
   import tkinter as Tk


def browse_file():

fname = tkFileDialog.askopenfilename(filetypes = (("Template files", "*.type"), ("All files", "*")))
print fname

root = Tk.Tk()
root.wm_title("Browser")
broButton = Tk.Button(master = root, text = 'Browse', width = 6, command=browse_file)
broButton.pack(side=Tk.LEFT, padx = 2, pady=2)

Tk.mainloop()
于 2014-07-09T08:38:13.080 に答える
4

Python 3 では、名前が filedialog に変更されました。次のように、 askdirectoryメソッド (イベント)によってフォルダー パスにアクセスできます。ファイル パスを選択する場合は、askopenfilenameを使用します。

import tkinter 
from tkinter import messagebox
from tkinter import filedialog

main_win = tkinter.Tk()
main_win.geometry("1000x500")
main_win.sourceFolder = ''
main_win.sourceFile = ''
def chooseDir():
    main_win.sourceFolder =  filedialog.askdirectory(parent=main_win, initialdir= "/", title='Please select a directory')

b_chooseDir = tkinter.Button(main_win, text = "Chose Folder", width = 20, height = 3, command = chooseDir)
b_chooseDir.place(x = 50,y = 50)
b_chooseDir.width = 100


def chooseFile():
    main_win.sourceFile = filedialog.askopenfilename(parent=main_win, initialdir= "/", title='Please select a directory')

b_chooseFile = tkinter.Button(main_win, text = "Chose File", width = 20, height = 3, command = chooseFile)
b_chooseFile.place(x = 250,y = 50)
b_chooseFile.width = 100

main_win.mainloop()
print(main_win.sourceFolder)
print(main_win.sourceFile )

注:変数の値は、main_win を閉じた後も保持されます。ただし、変数を main_win の属性として使用する必要があります。

main_win.sourceFolder
于 2018-07-17T00:18:50.017 に答える