Я пытаюсь создать объект wx.HeaderCtrl и получаю сообщение об ошибке, которое не смог найти в Google. Это код:
import wx
class MyApp(wx.App):
def __init__(self):
super().__init__()
self.frame = MyFrame(parent=None, title="Configuration")
self.frame.Show()
class MyFrame(wx.Frame):
def __init__(self, parent, title):
super().__init__(parent, title=title, size=(1600, 800))
self.configpanel = MyPanel(self)
class MyPanel(wx.Panel):
def __init__(self, parent):
super().__init__(parent)
foo = MyHeaderCtrl(self)
foo.Create(self)
class MyHeaderCtrl(wx.HeaderCtrl):
def __init__(self, parent):
super().__init__(parent)
if __name__ == "__main__":
app = MyApp()
app.MainLoop()
Моя проблема в классе My Panel, где я пытаюсь создать экземпляр объекта HeaderCtrl foo, а затем создать его. Независимо от того, как я их организовал, или какое окно или панель я установил в качестве родителя Create, я получаю эту ошибку:
Traceback (последний вызов был последним):
File «C: / _ Код / Проекты / Личные / BigOlTimeline / Python / test.py», строка 32, в приложении = MyApp ()
Файл »C: / _ Код / Проекты / Личные / BigOlTimeline /Python/test.py ", строка 7, в init self.frame = MyFrame (parent = None, title =" Configuration ")
Файл" C: / _ Code / Проекты / Личные / BigOlTimeline / Python / test.py ", строка 14, в init self.configpanel = MyPanel (self)
Файл" C: / _ Код / Проекты / Личные /BigOlTimeline/Python/test.py ", строка 22, в init foo = MyHeaderCtrl (self) .Create (wx.Window ())
wx._core.wxAssertionError: утверждение C ++ ""! m_hWnd "" не удалось в .... \ src \ msw \ window. cpp (3971) в wxWindow :: MSWCreate (): окно не может быть воссоздано
Процесс завершен с кодом завершения -1073741819 (0xC0000005)
Это мои первые t введение в реализацию абстрактных классов и необходимость использовать отдельный Create () вместо просто init , так что я уверен, что это что-то простое, но у меня было много проблем с поиском чего-то подобного в Интернете. Любая помощь будет принята с благодарностью.