我正在尝试使用tkinter创建一个程序,在该程序中我要求提供一些文件所在的目录,我已经成功地做到了这一点,而没有使用类,但是现在我遇到了问题。基本结构:
def askFile():
rootDir = tkFileDialog.askdirectory()
print (rootDir)
return rootDir
Class TestPage(tk.Frame):
def__init__(self,parent, controller):
tk.Frame.__init__(self, parent)
openButton = tk.Button(self, text='Open Directory', command=lambda: askfile)
openButton.pack()
现在有趣的是,在函数的print语句中,它可以很好地打印路径,当我在函数之外访问它时,它会给我:
<function askFile at 0x102900320>
以前,我可以通过将rootDir转换为全局变量来解决这个问题,但是我敢肯定,有一种方法可以不用这样做。
我试图在变量内部和外部使用.get(),但是没有运气。我尝试使用tk.StringVar()创建第二个变量,但是遇到了问题,因为它正在寻找root = tk.Tk(),这是我当前程序的结构方式,将其完全抛弃了。我在askdirectory()中看到的大多数示例都很简单,我无法找到这种意义的示例。
感谢您的帮助。