代码之家  ›  专栏  ›  技术社区  ›  volting

嵌套小部件的访问方法

  •  1
  • volting  · 技术社区  · 14 年前

    我在优化我的设计方面的工作 ,意图简化视图的api,尽管Iv构建了复合widget(有自己的事件和/pubsub消息),试图简化事情,但视图是嵌套的。

    例如,我有一个主要的顶级gui类awxframe,它有许多小部件,包括一个笔记本,笔记本包含许多选项卡,其中一些是包含复合小部件的笔记本。因此,要从控制器中调用其中一个组合小部件的方法

     self.gui.nb.sub_nb.composite_widget.method()
    

     self.composite_widget = self.nb.sub_nb.composite_widget()
    

    因此,在控制器中,调用现在简化为

     self.gui.composite_widget.method()
    

    1 回复  |  直到 14 年前
        1
  •  1
  •   Mike Driscoll    14 年前

    这绝对是解决问题的一种方法。不过,我倾向于使用pubsub以老式的方式调用方法。有些人喜欢pyDispatcher胜过pubsub。使用多点方法调用的主要问题是,如果必须更改方法名,则很难进行调试。