Tkinter 文件对话框名称空间错误

Posted

技术标签:

【中文标题】Tkinter 文件对话框名称空间错误【英文标题】:Tkinter filedialog NameSpace error 【发布时间】:2014-09-07 17:58:54 【问题描述】:

所以我可以通过 IDLE 完美地运行它,但是当我尝试通过双击通过 shell 运行它时,当我单击“选择目录”按钮时会得到以下信息:

"NameError: name 'filedialog' is not defined"

我只是掌握了 tkinter 的窍门,如果您看到任何其他可以以更好的方式编码的内容,我愿意接受批评。

from tkinter import *
import os, subprocess, shutil

window = Tk()
currentdir = StringVar()

def getdir():
    global currentdir
    currentdir.set(filedialog.askdirectory(initialdir = os.getcwd()))
def run():
    window.destroy()
seldirbtn = Button(window, text = "Select Directory", command = getdir)
seldirbtn.grid(row =0, column =0)

seldirlbl = Label(window, textvariable = currentdir)
seldirlbl.grid(row =0, column =2)

runbtn = Button(window, text = "RUN", command = run)
runbtn.grid(row = 1, column =1)

window.mainloop()

【问题讨论】:

【参考方案1】:

使用

from tkinter import filedialog

一起

from tkinter import *

(虽然建议像这样导入 Tkinter:)

import tkinter as tk

【讨论】:

以上是关于Tkinter 文件对话框名称空间错误的主要内容,如果未能解决你的问题,请参考以下文章

用于打开文件或目录的Tkinter对话框

tkinter 文件对话框中的更改按钮

如何在 Mac OS 上使用 Tkinter 获取黑色文件对话框?

[Tkinter 教程11] 对话框和消息框

文件对话框、tkinter 和打开文件

调用 tkinter askopenfilename 方法后打开文件对话框冻结