所以,我在理解如何从类中的另一个函数访问函数变量的值时遇到了一些麻烦。
import Tkinter as tk, tkFileDialog
class test:
def __init__(self):
root = tk.Tk()
song_button = tk.Button(root, text = 'Select Song', fg = 'blue', command = self.loadfile).pack()
#how do I access the value of filename now?
def loadfile(self):
filename = tkFileDialog.askopenfilename(filetypes=[("allfiles","*"),("pythonfiles","*.py")])
答案 0 :(得分:1)
现在,filename只是loadfile
函数中的局部变量。您需要使文件名成为对象的属性。执行self.filename = ...
,然后在其他方法中,您可以self.filename
访问它。
(在这种特殊情况下,您提出的要求似乎有点奇怪,因为当您似乎想要访问loadfile
时,filename
将不会被调用,所以{{1}甚至不存在。但这是一般的想法。无论如何,你显然需要在你可以用它做任何事情之前调用定义变量的函数。)