wxpython 2.8 -- timing and latency issues when displaying widgets

Josef Frank josef.frank at gmx.li
Thu Oct 28 08:09:09 EDT 2010


Dear all,

in an application window (subwindow of a Notebook-control) I'm trying to 
do the following:

1. Create a StaticText control kind of "Please wait until processing has 
finished"
2. Do some processing (e.g. vacuuming an sqlite database)
3. Create a 2nd StaticText control with the message "processing finished"

Naïvely I would expect following behavior:

1st control appears
data processing step runs
after finishing processing the 2nd control appears

but actually the order in execution seems to be a different one:

computer is doing heavy processing
1st control appears
2nd control appears immediately after the 1st without any visible delay

Could someone give a hint, how to change the seeming behavior into the 
intended one?

Thanks in advance Josef

P.S.:
here is the actual code snippet:

def OnVacuum(self,event):
	panel=Ntab(self.desktop,"Compact")
	message1=wx.StaticText(panel,-1,"Please wait, database is being 
compacted.",(20,10))
	self.SetCursor(wx.StockCursor(wx.CURSOR_WAIT))
	con=sqlite3.connect(dbname)
	cur=con.cursor()
	cur.execute("VACUUM;")
	cur.close()
	con.close()
	self.SetCursor(wx.StockCursor(wx.CURSOR_DEFAULT))
	message2=wx.StaticText(panel,-1,"Compacting database has now 
finished",(20,30))

Ntab is a class derived from wx.Panel and a tab of the abovementioned 
wx.Notebook control



More information about the Python-list mailing list