Python Tkinter - 无法选择目录(未找到tkFileDialog)

时间:2015-10-25 02:21:55

标签: python user-interface tkinter directory

我们正在尝试使用Tkinter的tkFileDialog将目录路径存储在变量中,但它不起作用(稍后详述)。

from Tkinter import *
import os
from tkFileDialog import askopenfilename, askdirectory  
# Create the window
root = Tk()

# Application title & size
root.title("Title")
root.geometry("1000x600")

# Creating frame to add things to
app = Frame(root) 
app.grid() # Adding app frame to grid  

# Method that opens file chooser 
# Gets used when button is clicked (command)
def openFileBox():
    directoryPicked = tkFileDialog.askdirectory()
    #easygui.fileopenbox()
    for filePicked in os.listdir(directoryPicked):
        if filePicked.lower().endswith(".jpg") or filePicked.lower().endswith(".gif") or filePicked.lower().endswith(".png"):
            print filePicked

#TODO: add button 'Select Folder'
loaderButton = Button(app)
loaderButton["text"] = "Select Folder"
loaderButton["command"] = openFileBox
loaderButton.grid()  
# Tells the program to run everything above
root.mainloop()  

那么需要发生什么?我们看到它的方式(我们是初学者在这里寻找反馈),它应该在按下按钮时运行openFileBox方法。当方法运行时,它应该将选定的目录存储到directoryPicked并将其打印到控制台以确保它正常工作,但是当我们按下按钮时它只是说'tkFileDialog'没有定义。
有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是因为您只是从askopenfilename, askdirectory导入tkFileDialog,而您实际上并未导入tkFileDialog

因此您需要将directoryPicked = tkFileDialog.askdirectory()更改为directoryPicked = askdirectory()