尝试编译时出现错误
C:\Temp\pythonWork\superGui>superGui.py
Traceback (most recent call last):
File "C:\Temp\pythonWork\superGui\superGui.py", line 747, in <module>
MyFrame.disableAll()
TypeError: unbound method disableAll() must be called with MyFrame instance as first argument (got nothing instead)
代码snipet
class MyFrame(wx.Frame):
---- CODE SNIP ----
def disableAll(self):
self.btnBeginInstall.Disable()
self.btnBeginInstall.Disable()
self.btnInfraSystem.Disable()
self.btnIwpcSystem.Disable()
self.btnIwpcSystem.Disable()
self.btnIwpcIwpcdba.Disable()
self.btnLdapOc4jadmin.Disable()
self.btnLdapOrcladmin.Disable()
self.btnIas_admin.Disable()
self.btniwpcadmin.Disable()
self.btnAll.Disable()
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
mainFrame = MyFrame(None, -1, "")
app.SetTopWindow(mainFrame)
mainFrame.Show()
#disable the buttons
success = MyFrame.disableAll()
app.MainLoop()
我看了几个其他类似的问题,但答案没有突然出现在我身上,或者更可能是我不理解它。
答案 0 :(得分:4)
您可能需要使用该类的实例。
mainFrame.disableAll()
应该做到这一点,如其他答案所示。
答案 1 :(得分:3)
mainFrame.disableAll()
而不是
MyFrame.disableAll()
这应该可以胜任。
答案 2 :(得分:0)
您将其称为类或静态方法。 self
应该来自哪里?你必须在应该做某事的对象上调用该方法 - 即mainFrame.disableAll()
。
此外,success
将为None
,因为disableAll
不会返回任何内容。你想做什么?