1

所以,我很难理解如何从类中的另一个函数访问函数变量的值。

    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")])
4

1 回答 1

1

现在文件名只是loadfile函数中的一个局部变量。您需要使文件名成为对象的属性。做self.filename = ...,然后在其他方法中您可以将其作为self.filename.

(在这种特殊情况下,您所问的似乎有点奇怪,因为loadfile在您似乎想要访问时不会被调用filename,因此filename甚至不存在。但这是一般的想法。无论如何,您显然需要先调用定义变量的函数,然后才能对其进行任何操作。)

于 2012-09-03T19:39:46.773 回答