I have tried this on the following configurations:
The wxDialog wasn't slow only on Ubuntu.
This is really weird...
My guess is that this is due to Windows and wxWidgets not dealing very
well with overlapping siblings, and so when the sizer is doing the
initial layout and moving all the panels from (0,0) to where they need
to be that something about the dialog is causing all of them to be
refreshed and repainted at each move. If you instead do the initial
layout before the dialog is shown then it is just as fast as the frame.
You can do this by adding a call to window.Layout() at the end of
makegrid.
--
Robin Dunn
Software Craftsman
http://wxPython.org