After several cycles of creating and deleting a dialog
with a tree, notebook and grid(s) in it I get some effects:
the lines in the tree are lost, the items are graybacklighted,
the grid has no values in its cells and is slow to scroll.
How to delete a dialog with a grid in it restless ?
(2.1.16/W98)
regards, Udo
What I do is the following:
if self.dialog_obj != []:
for i in self.dialog_obj:
i.Close() #there: .Destroy()
del( i )
self.dialog_obj= []
if self.notebook != None:
self.notebook.Destroy()
del( self.notebook )
self.notebook= None
if self.tree != None:
self.tree.Destroy()
del( self.tree )
self.tree= None
if self.splitter != None:
self.splitter.Destroy()
del( self.splitter )
self.splitter= None
and after that creating all new.
here the memory location of the dialog with grid in it for 22 cycles:
<pardia.Grid_Access_List instance at aa5ad0>
373c0
<pardia.Grid_Access_List instance at adce90>
2b2a0
<pardia.Grid_Access_List instance at b08130>
19e0
<pardia.Grid_Access_List instance at b09b10>
-15960
<pardia.Grid_Access_List instance at af41b0>
30d80
<pardia.Grid_Access_List instance at b24f30>
32230
<pardia.Grid_Access_List instance at b57160>
4d80
<pardia.Grid_Access_List instance at b5bee0>
8f23e0
<pardia.Grid_Access_List instance at 144e2c0>
-1d550
<pardia.Grid_Access_List instance at 1430d70>
44420
<pardia.Grid_Access_List instance at 1475190>
34b0
<pardia.Grid_Access_List instance at 1478640>
-bdc0
<pardia.Grid_Access_List instance at 146c880>
4db10
<pardia.Grid_Access_List instance at 14ba390>
2050
<pardia.Grid_Access_List instance at 14bc3e0>
fa80
<pardia.Grid_Access_List instance at 14cbe60>
9340
<pardia.Grid_Access_List instance at 14d51a0>
df90
<pardia.Grid_Access_List instance at 14e3130>
31620
<pardia.Grid_Access_List instance at 1514750>
14820
<pardia.Grid_Access_List instance at 1528f70>
-a870
<pardia.Grid_Access_List instance at 151e700>
38df0
<pardia.Grid_Access_List instance at 15574f0>
after 22 trials: +ab1a20 = 10.69MB
The problem seems to be the manner of SetCellFont.
If for every cell is a new font-object created like
.SetCellFont(row, col, wxFont(....)) there are the descibed effects,
but with font=wxFont(....); .SetCellFont(row, col, font) it's going
well.
With the following variant of GridSimple on my W98-computer is the grid
already in the 2nd call empty(no cell values).
class SimpleGrid(wxGrid):
def __init__(self, parent, log):
wxGrid.__init__(self, parent, -1)
self.log = log
self.CreateGrid(0, 0)
for i in xrange(0,5):
self.AppendCols(1)
cellfont= wxFont(10, wxDEFAULT , wxNORMAL, wxBOLD)
for i in xrange(0,200):
self.AppendRows(1)
for j in xrange(0,5):
self.SetCellFont(i, j, wxFont(10, wxDEFAULT , wxNORMAL,
wxBOLD))
# self.SetCellFont(i, j, cellfont)
self.SetCellValue(i, j, '12345')
Udo
Udo Floegel schrieb:
···
After several cycles of creating and deleting a dialog
with a tree, notebook and grid(s) in it I get some effects:
the lines in the tree are lost, the items are graybacklighted,
the grid has no values in its cells and is slow to scroll.
How to delete a dialog with a grid in it restless ?
(2.1.16/W98)
regards, Udo
What I do is the following:
if self.dialog_obj != :
for i in self.dialog_obj:
i.Close() #there: .Destroy()
del( i )
self.dialog_obj=
if self.notebook != None:
self.notebook.Destroy()
del( self.notebook )
self.notebook= None
if self.tree != None:
self.tree.Destroy()
del( self.tree )
self.tree= None
if self.splitter != None:
self.splitter.Destroy()
del( self.splitter )
self.splitter= None
and after that creating all new.
here the memory location of the dialog with grid in it for 22 cycles:
<pardia.Grid_Access_List instance at aa5ad0>
373c0
<pardia.Grid_Access_List instance at adce90>
2b2a0
<pardia.Grid_Access_List instance at b08130>
19e0
<pardia.Grid_Access_List instance at b09b10>
-15960
<pardia.Grid_Access_List instance at af41b0>
30d80
<pardia.Grid_Access_List instance at b24f30>
32230
<pardia.Grid_Access_List instance at b57160>
4d80
<pardia.Grid_Access_List instance at b5bee0>
8f23e0
<pardia.Grid_Access_List instance at 144e2c0>
-1d550
<pardia.Grid_Access_List instance at 1430d70>
44420
<pardia.Grid_Access_List instance at 1475190>
34b0
<pardia.Grid_Access_List instance at 1478640>
-bdc0
<pardia.Grid_Access_List instance at 146c880>
4db10
<pardia.Grid_Access_List instance at 14ba390>
2050
<pardia.Grid_Access_List instance at 14bc3e0>
fa80
<pardia.Grid_Access_List instance at 14cbe60>
9340
<pardia.Grid_Access_List instance at 14d51a0>
df90
<pardia.Grid_Access_List instance at 14e3130>
31620
<pardia.Grid_Access_List instance at 1514750>
14820
<pardia.Grid_Access_List instance at 1528f70>
-a870
<pardia.Grid_Access_List instance at 151e700>
38df0
<pardia.Grid_Access_List instance at 15574f0>
after 22 trials: +ab1a20 = 10.69MB
_______________________________________________
wxPython-users mailing list wxPython-users@wxwindows.org
http://wxwindows.org/mailman/listinfo/wxpython-users