【发布时间】:2016-07-05 19:36:54
【问题描述】:
我从这里(Tkinter! Understanding how to switch frames) 读到关于 self.controller = controller.我只是 python 和 tkinter 的新手,我只想问一下“控制器”是否总是指主程序?如果不是,请您举个例子。谢谢
【问题讨论】:
标签: python-3.x tkinter
我从这里(Tkinter! Understanding how to switch frames) 读到关于 self.controller = controller.我只是 python 和 tkinter 的新手,我只想问一下“控制器”是否总是指主程序?如果不是,请您举个例子。谢谢
【问题讨论】:
标签: python-3.x tkinter
不,控制器并不总是引用主程序。它可以引用您想要的任何对象。在您引用的示例中,使用该应用程序是最简单、最短的解决方案。
例如:
class Model(...): ...
class Controller(...): ...
class View(tk.Tk):
def __init__(self, controller):
self.controller = controller
tk.Tk.__init__(self)
...
...
class App(...):
def __init__(...):
...
model = Model(...)
controller = Controller(..., model=self.model)
view = View(..., controller=self.controller)
controller.add_view(view)
...
,,,
if __name__ == "__main__":
app = App()
【讨论】:
self.controller 将设置为该对象。您可以将任何您想要的参数传递给controller