繁体   English   中英

wxPython无法从子类调用主类中的函数

[英]wxPython cannot call function in main class from subclass

我在尝试在单独的类中获取函数时遇到困难。 我有一个带有一些功能的主类,其中一个被重置:

class GUI(wx.Frame):
    [GUI STUFF HERE]

    def reset(self):
        self.data = [0]

在该类中,我还可以在子例程之前启动另一个类:

        self.controlPanel = controlPanel(self.panel)

这将启动另一个类,该类是带有按钮的静态框。 在该类中,我有一个绑定到按钮事件的函数:

    def reset(self, event):
        GUI.reset()

函数“ reset”在主GUI类中。 当我尝试在主类中调用reset时出现错误,但是我可以反过来做。 为什么会这样,我该如何解决? 我希望子类中的按钮事件能够调用父类中的函数。

提前致谢。

在“ controlPanel”中未定义“ GUI”,您想调用“ GUI”实例的方法。

一种方法是在按钮处理程序中执行以下操作:

self.GetParent().reset()

根据您的应用程序的复杂程度,这可能会失控,因为如果在GUI和controlPanel之间插入另一层,它将不再起作用。

您可能希望使用'wx.lib.pubsub'进行研究,并在controlPanel中使用'pub.sendMessage',在GUI中使用'pub.subscribe'。

wxPython Phoenix pubsub doc

pubsub的文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM