Python Forum

Full Version: [WxPython] Process finished with exit code -1073741819 (0xC0000005)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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()
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?
Hi deanhystad,

following code modification worked. Thank you :)

###########################################################################
		## load data in GUI
		###########################################################################
		for row in range(len(Data)):
			self.TestExec.AppendItem(Data[row], row)
replace
        for row in range(len(Data)):
            self.TestExec.AppendItem(Data[row], row)
with
        for row in Data:
            self.TestExec.AppendItem(row)
Thats much better version Thanks Yoriz. :)