因此,我在理解如何从类中的另一个函数访问函数变量的值时遇到了一些麻烦。
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")])
最佳答案
现在 filename 只是 loadfile
函数中的一个局部变量。您需要使文件名成为对象的属性。执行 self.filename = ...
,然后在其他方法中您可以将其作为 self.filename
访问。
(在这种特殊情况下,您所要求的似乎有点奇怪,因为在您似乎想要访问filename
时,不会调用loadfile
,所以 filename
甚至不存在。但这是一般的想法。无论如何,显然您需要调用定义变量的函数,然后才能对其执行任何操作。)
关于python - 如何使函数的变量在类中全局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12253195/