wx.grid.GridUpdateLocker¶
This small class can be used to prevent wx.grid.Grid from redrawing during its lifetime by calling wx.grid.Grid.BeginBatch
in its constructor and wx.grid.Grid.EndBatch
in its destructor.
It is typically used in a function performing several operations with a grid which would otherwise result in flicker. For example:
def GridLocker(self):
self.grid = wx.grid.Grid(self, -1)
noUpdates = wx.grid.GridUpdateLocker(self.grid)
self.grid.AppendColumn()
# ... many other operations with self.grid ...
self.grid.AppendRow()
# destructor called, grid refreshed
Using this class is easier and safer than calling wx.grid.Grid.BeginBatch
and wx.grid.Grid.EndBatch
because you don’t risk missing the call the latter (due to an exception for example).
Class Hierarchy¶
Methods Summary¶
Creates an object preventing the updates of the specified grid. |
|
This method can be called if the object had been constructed using the default constructor. |
|
Class API¶
- class wx.grid.GridUpdateLocker(object)¶
Possible constructors:
GridUpdateLocker(grid=None) -> None
This small class can be used to prevent Grid from redrawing during its lifetime by calling Grid.BeginBatch() in its constructor and Grid.EndBatch() in its destructor.
Methods¶
- __init__(self, grid=None)¶
Creates an object preventing the updates of the specified grid.
The parameter could be
None
in which case nothing is done. If grid is notNone
then the grid must exist for longer than this wx.grid.GridUpdateLocker object itself.The default constructor could be followed by a call to
Create
to set the grid object later.- Parameters:
grid (wx.grid.Grid)
- Return type:
None
- Create(self, grid)¶
This method can be called if the object had been constructed using the default constructor.
It must not be called more than once.
- Parameters:
grid (wx.grid.Grid)
- Return type:
None
- __enter__(self)¶
- __exit__(self, exc_type, exc_val, exc_tb)¶