【发布时间】:2015-01-28 00:08:16
【问题描述】:
这是不好的做法和/或有没有比这更好的方法来访问函数变量:
class Start_up:
def __init__( self ):
self.root = Tk()
self.user_entry = StringVar()
self.change = StringVar()
self.label = Label ( self.root, textvariable = self.change )
self.entry = Entry ( self.root, textvaribale = self.user_entry )
self.button = Button ( self.root, text="Buttton", command = self.doSomething )
def doSomething( self ):
self.change.set("Text Changed")
got_it = self.user_entry.get()
我想知道是否有办法让这些函数完全一样地工作,但没有类存在?
提前感谢您的帮助,我环顾四周,但无法准确找到 TKinter 的这个示例。
【问题讨论】:
-
你到底想做什么?
self.entry根本没有使用,got_it也没有使用。 -
正确。这只是我想做的一个例子。如前所述,我希望能够从第二个函数访问第一个函数的 tkinter 变量。
-
那么你想要一个类,因为唯一的选择是使共享变量全局化,这很少被推荐。类提供了一种以结构化方式在函数之间共享数据的方法。
-
感谢您的超级快速帮助!所以我放的代码会被推荐用于在它们之间传递变量吗?您还建议在 init 中调用窗口还是在类中调用新函数?
标签: python function class variables tkinter