我从主要功能中调用了一类浏览按钮(用于选择文件位置)。此类具有浏览功能,可以捕获存储路径的文件路径变量。现在我只想使用在类外部的类函数中定义的文件路径,例如在类范围之外打印此变量
我已经尝试过将loc设置为全局的其他访问方法,但我猜想由于将参数传递给类而使它们无法正常工作。
'''Using Tkinter module'''
class Browse(tk.Frame,object):
# here __init__ ,_create_widgets,_display_widgets are defined then I have,
def browse(self):
""" Browses a .xlsx file or all files and then puts it on the entry.
"""
self.filepath.set(fd.askopenfilename(initialdir=self._initaldir,
filetypes=self._filetypes))
print(self.filepath.get()), self #Path of ATP choosen by user
loc = self.filepath.get() #want to excess this out of class
我想在类范围之外打印“ loc”值(可以在内部打印) 我怎么能访问相同的。我想这个问题是由于我的班级有争论而引起的,尽管不确定。
答案 0 :(得分:1)
按现状, Map<Integer, Map<String, Double>> result = new HashMap<>();
originalMap.forEach((key, value) -> {
value.forEach((innerKey, innerValue) -> {
Map<String, Double> map = new HashMap<>();
map.put(key, innerValue);
result.merge(innerKey, map, (left, right) -> {
left.putAll(right);
return left;
});
});
});
System.out.println(result);
是loc
函数中的局部变量,当browse
函数返回时,它将不再存在。如果您将其编写为:
browse
然后,如果您有一个名为 self.loc = self.filepath.get()
的{{1}}对象,则只需编写Browse
即可访问它。
如果即使没有b
对象也要访问变量,则将需要一个类变量。设置为:
b.loc
,然后使用Browse
访问。但是,类变量的问题与所有全局变量的问题相同-如果您有两个 Browse.loc = self.filepath.get()
对象怎么办?以及如果您尝试从多个线程访问类变量怎么办?