【问题标题】:Python Tkinter - cannot select directory (tkFileDialog not found)Python Tkinter - 无法选择目录(未找到 tkFileDialog)
【发布时间】:2016-01-24 08:37:47
【问题描述】:

我们正在尝试使用 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”未定义。
有什么想法吗?

【问题讨论】:

    标签: python user-interface tkinter directory


    【解决方案1】:

    这是因为你只是从tkFileDialog 导入askopenfilename, askdirectory 你实际上并没有导入tkFileDialog 本身

    所以你需要把directoryPicked = tkFileDialog.askdirectory()改成directoryPicked = askdirectory()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多