2016-08-16 18 views
2

Tkinter에서 찾아보기 버튼 문제와 관련하여 여러 게시물을 읽었지만 대답을 찾을 수 없습니다."찾아보기"버튼을 사용하여 Tkinter에서 파일의 경로 표시 - Python

그래서이 코드를 사용하여 찾아보기 버튼을 클릭하고 입력란에이 경로를 표시 할 때 디렉토리 경로를 가져 왔습니다. 부분적으로 woks : 스크립트를 실행하면 파일 브라우저 창이 직접 팝업됩니다. 입력 필드에 실제로 경로가 표시되지만 찾아보기 단추를 사용하여 폴더를 변경하려면 작동하지 않습니다.

브라우저를 처음부터 팝업하고 싶지만 찾아보기를 클릭 할 때만! 답

from Tkinter import * 
from tkFileDialog import askdirectory 

window = Tk() # user input window 

MyText= StringVar() 

def DisplayDir(Var): 
    feedback = askdirectory() 
    Var.set(feedback) 

Button(window, text='Browse', command=DisplayDir(MyText)).pack() 
Entry(window, textvariable = MyText).pack() 
Button(window, text='OK', command=window.destroy).pack() 

mainloop() 

답변

3

이 쉽습니다에 대한 감사합니다 - 당신은 변수의 경로를 지정한 다음, 그것을 밖으로 인쇄해야합니다

from tkinter import * 
root = Tk() 

def browsefunc(): 
    filename = filedialog.askopenfilename() 
    pathlabel.config(text=filename) 

browsebutton = Button(root, text="Browse", command=browsefunc) 
browsebutton.pack() 

pathlabel = Label(root) 
pathlabel.pack() 

PS :이 파이썬 3에을. 그러나 개념은 과 동일입니다.

+0

좋아, 고마워. 하지만 실제로 여러 폴더 디렉토리 경로를 가져와야하며이 경우에는 'pathlabel'변수에서만 작동합니다. 나는 람다 대신 시도 할 것이다 :) – Jindil

+0

몇 가지 폴더 디렉토리 경로 란 무엇을 의미합니까? 질문에 포함시키지 않았습니다. 문제를보다 명확하게 설명하십시오. –

+0

예 죄송 합니다만 스크립트를 최소한으로 단순화했는데 intger, 파일 및 폴더를 비롯한 일부 사용자 입력을 수집하여 일반적인 명령을 사용하는 것이 흥미로운 이유가 된 형식을 고안했습니다. 마지막으로 Bryan의 게시물 링크에서 제안한대로 'command = lambda : DisplayDir (MyText)'버튼이 있습니다. – Jindil