def OnReset(self, event): self.parent.Close() frame = myFrame()
class WXExtension(object): """Create a wxPython Extension inside ArcMap""" def __init__(self): self._wxApp = None self._enabled = None def startup(self): try: self._wxApp = wx.App() self._wxApp.MainLoop() except Exception: pythonaddins.MessageBox("Unable to start the Extension.", "Extension Error") @property def enabled(self): if self._enabled == False: button.enabled = False else: button.enabled = True return self._enabled @enabled.setter def enabled(self, value): self._enabled = value class Button(object): """ Create a custom button inside ArcMap""" _dlg = None @property def dlg(self): if self._dlg is None: self._dlg = myFrame() return self._dlg def __init__(self): self.enabled = True self.checked = False def onClick(self): try: self.dlg.Show(True) except Exception: pythonaddins.MessageBox("Can't show myFrame.", "Error") pass
Solved! Go to Solution.
Need to use SimpleApp. Here's a blog post that references Mark Cederholm's findings as presented at the Developer Summit.