【问题标题】:About self.controller = controller . Does controller always mean the main program?关于 self.controller = controller 。控制器总是意味着主程序吗?
【发布时间】:2016-07-05 19:36:54
【问题描述】:

我从这里(Tkinter! Understanding how to switch frames) 读到关于 self.controller = controller.我只是 python 和 tkinter 的新手,我只想问一下“控制器”是否总是指主程序?如果不是,请您举个例子。谢谢

【问题讨论】:

    标签: python-3.x tkinter


    【解决方案1】:

    不,控制器并不总是引用主程序。它可以引用您想要的任何对象。在您引用的示例中,使用该应用程序是最简单、最短的解决方案。

    例如:

    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()
    

    【讨论】:

    • 我还是很困惑。如果不总是主程序,python怎么知道“self.controller = controller”指的是什么? python怎么知道它是另一个对象,而不是主程序?
    • @marcoalexis:python 是怎么知道的?你告诉它。如果传入其他对象,self.controller 将设置为该对象。您可以将任何您想要的参数传递给controller
    • 关于我引用的代码,我想那是你的原创? self.controller = controller 直接指主程序,即使它没有在主程序中定义,因为可以是其他的提到对吗?以及您刚才回答中的其他示例,它可以引用任何其他对象,因为声明了许多类,并且您专门将其设置为特定对象,对吗?
    • @marcoalexis:stackoverflow 不是为扩展讨论而设计的。我无法在评论区回答这些问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 2019-05-28
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    相关资源
    最近更新 更多