Я делаю некоторые впечатления в Python, особенно в wxpython от EventGhost, но у меня есть вообще проблема с классами. Я наблюдал вокруг и много пробовал, но не имел успеха.Атрибут родительского класса вызова Python
Моя проблема заключается в том, что я хочу, чтобы закрыть мой Gui от кнопки внутри моего «MyDialog()» класса:
class ShowInputDialog(eg.ActionBase):
name = "Show Input Dialog"
description = "Show an input dialog that allows you to create an EventGhost event that you can then use to trigger AutoRemote messages or notifications"
def __call__(self):
class MyDialog():
def __init__(self):
########################Main Dialog###########################
no_sys_menu = wx.CLIP_CHILDREN | wx.STAY_ON_TOP | wx.FRAME_NO_TASKBAR | wx.NO_BORDER | wx.FRAME_SHAPED
self.Dialog = wx.Frame(None, wx.ID_ANY, "Hello World", style=no_sys_menu, size=(400,600))
########################Header###########################
Header = wx.Panel(self.Dialog, wx.ID_ANY, size=(400,600))
HeaderSizer = wx.GridSizer(rows=1, cols=2, hgap=5, vgap=5)
HeaderSizer.Add(wx.StaticText(Header, label="Hello World"), flag=wx.ALIGN_CENTER_VERTICAL)
button = wx.Button(Header, label='close')
button.Bind(wx.EVT_BUTTON, self.close)
HeaderSizer.Add(button, 0, wx.ALIGN_RIGHT, 0)
Header.SetSizer(HeaderSizer)
upDownSizer = wx.BoxSizer(wx.VERTICAL)
upDownSizer.Add(Header, 0, flag=wx.EXPAND)
self.Dialog.SetSizer(upDownSizer)
self.Dialog.Fit()
self.Dialog.Show()
def close(self, event):
self.Close()
print "see you soon"
wx.CallAfter(MyDialog)
, если я называю «близко» от моей кнопки я получаю
AttributeError: MyDialog instance has no attribute 'Close'
но как позвонить "Закрыть"? Я прочитал о супер инициализации «MyDialog», но не добился успеха, и не знаю, устранит ли это мою проблему.
Спасибо и не так трудно нуб
I Habe пытался что прежде, но получить что-то вроде AttributeError: MyDialog Methode не имеет экземпляра 'Dialog' – fteinz
нет, это не ошибка, которую вы получили ... если вам нужна помощь, вам нужно будет поставить фактическое сообщение об ошибке, которое вы получите ... –
Извините за то, что меня не было дома. И Жаль, что ты прав. Я тестировал, как вы это делали (я думал, что попробую это раньше), и теперь он работает, чем мысли. благодаря – fteinz