[WxPython] Process finished with exit code -1073741819 (0xC0000005) - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: [WxPython] Process finished with exit code -1073741819 (0xC0000005) (/thread-25637.html) |
[WxPython] Process finished with exit code -1073741819 (0xC0000005) - Kangaroo - Apr-06-2020 Hi, I have generated this code for front end gui and trying to load test data to see if the controls/columns are being populated. however, at the end of the run it produces "Process finished with exit code -1073741819 (0xC0000005)" I am running Pycharm - 2019.3.4 Python 3.6 WxPython - 4.0.4 # -*- coding: utf-8 -*- ########################################################################### ## Python code generated with wxFormBuilder (version Oct 26 2018) ## http://www.wxformbuilder.org/ ## ## PLEASE DO *NOT* EDIT THIS FILE! ########################################################################### import wx import wx.xrc import wx.dataview SerialNumber = 1000 ########################################################################### ## Class GTF ########################################################################### class GTF ( wx.Frame ): def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Test Framework", pos = wx.DefaultPosition, size = wx.Size( 1086,776 ), style = wx.DEFAULT_FRAME_STYLE|wx.SYSTEM_MENU|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) self.TopMenuBar = wx.MenuBar( 0 ) self.Menu = wx.Menu() self.OpenScriptFile = wx.MenuItem( self.Menu, wx.ID_ANY, u"Open Script File", wx.EmptyString, wx.ITEM_NORMAL ) self.Menu.Append( self.OpenScriptFile ) self.Settings = wx.MenuItem( self.Menu, wx.ID_ANY, u"Settings", wx.EmptyString, wx.ITEM_NORMAL ) self.Menu.Append( self.Settings ) self.TopMenuBar.Append( self.Menu, u"Menu" ) self.SetMenuBar( self.TopMenuBar ) MainPage = wx.BoxSizer( wx.VERTICAL ) fgSizer1 = wx.FlexGridSizer( 1, 3, 0, 0 ) fgSizer1.SetFlexibleDirection( wx.BOTH ) fgSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) Colmn1 = wx.BoxSizer( wx.VERTICAL ) self.Logo = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap( u"Logo.png", wx.BITMAP_TYPE_ANY ), wx.DefaultPosition, wx.DefaultSize, 0 ) Colmn1.Add( self.Logo, 0, wx.ALL, 5 ) self.ExecutionTime = wx.TextCtrl( self, wx.ID_ANY, u"04:17:49", wx.DefaultPosition, wx.Size( 200,-1 ), wx.TE_CENTER|wx.BORDER_NONE ) self.ExecutionTime.SetFont( wx.Font( 26, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) self.ExecutionTime.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_HIGHLIGHT ) ) self.ExecutionTime.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) Colmn1.Add( self.ExecutionTime, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) fgSizer1.Add( Colmn1, 1, wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 5 ) Colmn2 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Enter Info" ), wx.HORIZONTAL ) wSizer1 = wx.WrapSizer( wx.HORIZONTAL, 0 ) self.StationID = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" Station ID", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.StationID.Wrap( -1 ) self.StationID.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer1.Add( self.StationID, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) self.StationID = wx.TextCtrl( Colmn2.GetStaticBox(), SerialNumber, wx.EmptyString, wx.Point( -1,-1 ), wx.Size( 200,-1 ), wx.TE_LEFT|wx.ALWAYS_SHOW_SB, wx.DefaultValidator, u"Serial Number" ) self.StationID.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer1.Add( self.StationID, 0, wx.ALL, 2 ) self.Operator = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" Operator", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.Operator.Wrap( -1 ) self.Operator.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer1.Add( self.Operator, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) OperatorChoices = [] self.Operator = wx.ComboBox( Colmn2.GetStaticBox(), wx.ID_ANY, u"Select", wx.DefaultPosition, wx.Size( 200,-1 ), OperatorChoices, wx.CB_DROPDOWN ) self.Operator.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer1.Add( self.Operator, 0, wx.ALL, 2 ) Colmn2.Add( wSizer1, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 10 ) wSizer2 = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.UUTSN = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT SN", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.UUTSN.Wrap( -1 ) self.UUTSN.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer2.Add( self.UUTSN, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) self.UUTSN = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.Point( -1,-1 ), wx.Size( 200,-1 ), wx.TE_LEFT ) self.UUTSN.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer2.Add( self.UUTSN, 0, wx.ALL, 2 ) self.UUTPN = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT PN", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.UUTPN.Wrap( -1 ) self.UUTPN.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer2.Add( self.UUTPN, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) self.UUTPN = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0, wx.DefaultValidator, u"Part Number" ) self.UUTPN.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer2.Add( self.UUTPN, 0, wx.ALL, 2 ) Colmn2.Add( wSizer2, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 10 ) wSizer3 = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.UUTHWRev = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT HW Rev", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.UUTHWRev.Wrap( -1 ) self.UUTHWRev.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer3.Add( self.UUTHWRev, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) self.UUTHWRev = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 ) self.UUTHWRev.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer3.Add( self.UUTHWRev, 0, wx.ALL, 2 ) self.UUTSWRev = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT SW Rev", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.UUTSWRev.Wrap( -1 ) self.UUTSWRev.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer3.Add( self.UUTSWRev, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) self.UUTSWRev = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 ) self.UUTSWRev.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer3.Add( self.UUTSWRev, 0, wx.ALL, 2 ) self.UUTFWRev = wx.StaticText( Colmn2.GetStaticBox(), wx.ID_ANY, u" UUT FW Rev", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_RIGHT ) self.UUTFWRev.Wrap( -1 ) self.UUTFWRev.SetFont( wx.Font( 14, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer3.Add( self.UUTFWRev, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 2 ) self.UUTFWRev = wx.TextCtrl( Colmn2.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 200,-1 ), 0 ) self.UUTFWRev.SetFont( wx.Font( 16, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial" ) ) wSizer3.Add( self.UUTFWRev, 0, wx.ALL, 2 ) Colmn2.Add( wSizer3, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALIGN_TOP|wx.ALL|wx.EXPAND, 10 ) fgSizer1.Add( Colmn2, 1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_TOP|wx.EXPAND, 0 ) Colmn3 = wx.BoxSizer( wx.VERTICAL ) self.Abort = wx.Button( self, wx.ID_ANY, u"ABORT", wx.DefaultPosition, wx.Size( 150,60 ), 0 ) self.Abort.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) self.Abort.SetBackgroundColour( wx.Colour( 255, 128, 128 ) ) Colmn3.Add( self.Abort, 0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) self.Start = wx.Button( self, wx.ID_ANY, u"START", wx.DefaultPosition, wx.Size( 150,60 ), 0 ) self.Start.SetBackgroundColour( wx.Colour( 128, 255, 128 ) ) Colmn3.Add( self.Start, 0, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) fgSizer1.Add( Colmn3, 1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.EXPAND, 5 ) MainPage.Add( fgSizer1, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_TOP|wx.EXPAND, 5 ) TestExec = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Test Execution" ), wx.VERTICAL ) self.TestExec = wx.dataview.DataViewListCtrl( TestExec.GetStaticBox(), wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,500 ), wx.dataview.DV_HORIZ_RULES|wx.dataview.DV_MULTIPLE|wx.dataview.DV_ROW_LINES ) self.Step = self.TestExec.AppendTextColumn( u"STEP", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, 0 ) self.Test = self.TestExec.AppendTextColumn( u"TEST", wx.dataview.DATAVIEW_CELL_EDITABLE, 505, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, 0 ) self.LowerLimit = self.TestExec.AppendTextColumn( u"LOWER LIMIT", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT, 0 ) self.UpperLimit = self.TestExec.AppendTextColumn( u"UPPER LIMIT", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 ) self.Measurement = self.TestExec.AppendTextColumn( u"MEASUREMENT", wx.dataview.DATAVIEW_CELL_EDITABLE, 100, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 ) self.Units = self.TestExec.AppendTextColumn( u"UNITS", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 ) self.Result = self.TestExec.AppendTextColumn( u"RESULT", wx.dataview.DATAVIEW_CELL_EDITABLE, 90, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0 ) TestExec.Add( self.TestExec, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 0 ) MainPage.Add( TestExec, 1, wx.ALIGN_TOP|wx.EXPAND, 0 ) self.SetSizer( MainPage ) self.Layout() self.BottomStatusBar = self.CreateStatusBar( 1, wx.STB_SIZEGRIP, wx.ID_ANY ) ########################################################################### ## DUMMY DATA -- DELETE ONCE DONE ########################################################################### Data = [ [u"1", u"Test1", u"-10", u"10", u"3", u"dB", u"PASS"], [u"2", u"Test2", u"-10", u"10", u"3", u"dB", u"PASS"], [u"3", u"Test3", u"-10", u"10", u"3", u"dB", u"PASS"], [u"4", u"Test4", u"-10", u"10", u"3", u"dB", u"PASS"], [u"5", u"Test5", u"-10", u"10", u"3", u"dB", u"PASS"], [u"6", u"Test6", u"-10", u"10", u"3", u"dB", u"PASS"], [u"7", u"Test7", u"-10", u"10", u"3", u"dB", u"PASS"] ] ########################################################################### ## load data in GUI ########################################################################### for row in range(len(Data)): for col in range(len(Data[row])): self.TestExec.SetTextValue(Data[row][col], row, col) self.Centre( wx.BOTH ) def __del__( self ): pass ########################################################################### ## Class Settings ########################################################################### class Settings ( wx.Frame ): def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"Settings", pos = wx.DefaultPosition, size = wx.Size( 985,667 ), style = wx.SYSTEM_MENU|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) bSizer4 = wx.BoxSizer( wx.HORIZONTAL ) fgSizer2 = wx.FlexGridSizer( 0, 2, 0, 0 ) fgSizer2.SetFlexibleDirection( wx.BOTH ) fgSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_listbook2 = wx.Listbook( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,400 ), wx.LB_LEFT|wx.LB_TOP ) self.m_scrolledWindow1 = wx.ScrolledWindow( self.m_listbook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL ) self.m_scrolledWindow1.SetScrollRate( 5, 5 ) self.m_listbook2.AddPage( self.m_scrolledWindow1, u"a page", False ) fgSizer2.Add( self.m_listbook2, 1, wx.EXPAND |wx.ALL, 5 ) self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 900,600 ), wx.TAB_TRAVERSAL ) fgSizer2.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 5 ) self.m_scrolledWindow2 = wx.ScrolledWindow( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL ) self.m_scrolledWindow2.SetScrollRate( 5, 5 ) fgSizer2.Add( self.m_scrolledWindow2, 1, wx.EXPAND |wx.ALL, 5 ) bSizer4.Add( fgSizer2, 1, wx.EXPAND, 5 ) self.SetSizer( bSizer4 ) self.Layout() self.Centre( wx.BOTH ) def __del__( self ): pass #Required to run GUI code if __name__ == "__main__": app = wx.App() dlg = GTF(None) dlg.Show() app.MainLoop() RE: [WxPython] Process finished with exit code -1073741819 (0xC0000005) - deanhystad - Apr-06-2020 C0000005 is an access violation. That is tough to do in python. I don't have any experience with DataViewListCtrl, but I think you are expected to build up the table using AppendItem. When you start loading data the table only has columns, no rows. Maybe the access violation is caused by trying to "SetTextValue" into one of those missing rows? RE: [WxPython] Process finished with exit code -1073741819 (0xC0000005) - Kangaroo - Apr-06-2020 Hi deanhystad, following code modification worked. Thank you :) ########################################################################### ## load data in GUI ########################################################################### for row in range(len(Data)): self.TestExec.AppendItem(Data[row], row) RE: [WxPython] Process finished with exit code -1073741819 (0xC0000005) - Yoriz - Apr-06-2020 replace for row in range(len(Data)): self.TestExec.AppendItem(Data[row], row)with for row in Data: self.TestExec.AppendItem(row) RE: [WxPython] Process finished with exit code -1073741819 (0xC0000005) - Kangaroo - Apr-06-2020 Thats much better version Thanks Yoriz. :) |