问题描述
class SneakerGuide(tk.Frame): def __init__(self,parent,controller): tk.Frame.__init__(self,parent) global stockXURLInput stockXURLInput = Entry(sneakerBasicDetails) stockXURLInput.grid(row=5,column=1)
所以我有了这个类,并且在其中有一个初始化函数,并且我想从.get()中得到很多东西。我只是列举了一个例子。但是我试图在该类之外获取条目输入(实际上,我试图从另一个文件获取它,但是我知道如何导入它们和东西。在这种情况下,我将如何做?
解决方法
对于要在类外部访问的对象,必须使它们成为类的实例属性。
例如,您不会像示例中那样使用global
。 global
的使用在很大程度上违反了使用类的目的。相反,您可以这样做:
class SneakerGuide(tk.Frame):
def __init__(self,parent,controller):
tk.Frame.__init__(self,parent)
self.stockXURLInput = Entry(sneakerBasicDetails)
self.stockXURLInput.grid(row=5,column=1)
要从条目中获取值,您所需要的只是对类实例的引用。
root = tk.Tk()
...
guide = SneakerGuide(root)
...
print(f"The url is {guide.stockXURLInput.get9)}")
这不是tkinter所独有的,这是所有python对象的工作方式。