Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何访问类范围外的变量定义的浏览按钮类_Python_Python 2.7_Tkinter - Fatal编程技术网

Python 如何访问类范围外的变量定义的浏览按钮类

Python 如何访问类范围外的变量定义的浏览按钮类,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,我调用了一类browse按钮,从main函数中选择文件位置。此类具有browse函数来捕获存储路径的文件路径变量。现在我只想在这个类之外使用class函数中定义的这个文件路径,比如在类范围之外打印这个变量 我已经尝试过将loc作为全局的,其他的访问方法,但没有一个有效,我想这是因为参数被传递给类 “使用Tkinter模块” 类Browsetk.Frame,对象: 这里定义了uuuu init uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwidget

我调用了一类browse按钮,从main函数中选择文件位置。此类具有browse函数来捕获存储路径的文件路径变量。现在我只想在这个类之外使用class函数中定义的这个文件路径,比如在类范围之外打印这个变量

我已经尝试过将loc作为全局的,其他的访问方法,但没有一个有效,我想这是因为参数被传递给类

“使用Tkinter模块” 类Browsetk.Frame,对象: 这里定义了uuuu init uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwidgets,uu display uuwidgets,然后我就, def browseself: 浏览.xlsx文件或所有文件,然后将其放在条目上。 self.filepath.setfd.askopenfilenameinitialdir=self.\u initaldir, filetypes=self.\u文件类型 printself.filepath.get,用户选择的ATP自身路径 loc=self.filepath.get要在类外超出此值吗 我想打印“loc”值,以便在类范围内和类范围外打印 我如何才能访问相同的。我猜这个问题是由我的类的参数引起的,尽管不确定。

目前,loc是browse函数中的一个局部变量,当browse函数返回时,它将不再存在。如果您将其写为:

        self.loc = self.filepath.get()
然后,如果您有一个名为b的浏览对象,您可以只写b.loc来访问它

如果即使手头没有Browse对象也要访问该变量,则需要一个类变量。设置为:

        Browse.loc = self.filepath.get()

并通过Browse.loc访问。类变量的问题与所有全局变量的问题相同——如果有两个浏览对象呢?如果您试图从多个线程访问类变量,该怎么办?

如果答案对您有用,您可以通过单击数字和上/下箭头下方的灰色勾号来接受它。您可以随时更改您对某个问题接受的答案,但您可能希望延迟接受一个答案,以鼓励其他可能更好的答案。人们不太可能回答已经有公认答案的问题。