Код выхода Python 139 со всеми wxStaticText
Обычно я могу решить все свои проблемы с помощью поиска, но это поставило меня в тупик. Я просто пытаюсь создать графический интерфейс для входа на веб-сайт, и у меня возникают проблемы с этим с помощью wxFormBuilder.
GUI выглядит очень хорошо в сборщике, но когда я выполняюсь, я получаю выход с кодом ошибки 139 error в Python. Итак, я запустил отладчик, и у него есть проблема с этой строкой:
self.m_staticText3 = wx.StaticText( sbSizer1.GetStaticBox(), wx.ID_ANY, u"Username:", wx.DefaultPosition, wx.DefaultSize, 0 )
Вслед за этим в глубине фреймворка wx, в _controls.py, класс StaticText
_controls_.StaticText_swiginit(self,_controls_.new_StaticText(*args, **kwargs))
и вот весь код класса
import wx
class Login ( wx.Dialog ):
def __init__( self, parent ):
wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Login", pos = wx.DefaultPosition, size = wx.Size( 261,163 ), style = wx.DEFAULT_DIALOG_STYLE )
self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Login" ), wx.VERTICAL )
bSizer5 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText3 = wx.StaticText( sbSizer1.GetStaticBox(), wx.ID_ANY, u"Username:", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText3.Wrap( -1 )
bSizer5.Add( self.m_staticText3, 0, wx.LEFT|wx.TOP, 5 )
self.m_txtUser = wx.TextCtrl( sbSizer1.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 150,-1 ), wx.TE_CENTRE )
bSizer5.Add( self.m_txtUser, 0, wx.LEFT, 20 )
sbSizer1.Add( bSizer5, 0, wx.EXPAND, 5 )
bSizer6 = wx.BoxSizer( wx.HORIZONTAL )
self.m_staticText4 = wx.StaticText( sbSizer1.GetStaticBox(), wx.ID_ANY, u"Password:", wx.DefaultPosition, wx.DefaultSize, 0 )
self.m_staticText4.Wrap( -1 )
bSizer6.Add( self.m_staticText4, 0, wx.ALL, 5 )
self.m_txtPass = wx.TextCtrl( sbSizer1.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.Point( -1,-1 ), wx.Size( 150,-1 ), wx.TE_CENTRE )
bSizer6.Add( self.m_txtPass, 0, wx.LEFT, 20 )
sbSizer1.Add( bSizer6, 0, wx.EXPAND, 5 )
bSizer7 = wx.BoxSizer( wx.VERTICAL )
self.m_butLogin = wx.Button( sbSizer1.GetStaticBox(), wx.ID_ANY, u"Proceed to ", wx.DefaultPosition, wx.DefaultSize, 0 )
bSizer7.Add( self.m_butLogin, 0, wx.ALL|wx.EXPAND, 5 )
sbSizer1.Add( bSizer7, 0, wx.EXPAND, 5 )
bSizer8 = wx.BoxSizer( wx.VERTICAL )
self.m_lblStatus = wx.StaticText( sbSizer1.GetStaticBox(), wx.ID_ANY, u"Idle...", wx.DefaultPosition, wx.Size( -1,-1 ), wx.ALIGN_CENTRE|wx.RAISED_BORDER )
self.m_lblStatus.Wrap( 0 )
self.m_lblStatus.SetFont( wx.Font( 10, 74, 93, 92, False, "Sans" ) )
bSizer8.Add( self.m_lblStatus, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.LEFT|wx.TOP, 5 )
sbSizer1.Add( bSizer8, 1, wx.EXPAND, 5 )
self.SetSizer( sbSizer1 )
self.Layout()
self.Centre( wx.BOTH )
# Connect Events
self.m_butLogin.Bind( wx.EVT_BUTTON, self.m_butLoginOnButtonClick )
def __del__( self ):
pass
# Virtual event handlers, overide them in your derived class
def m_butLoginOnButtonClick( self, event ):
event.Skip()
Gracias!!
1 ответ
Просто обновите. Я использую 3.6.2. В свойствах wxStaticBox добавьте поле "родитель" - просто не отмечено.