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