I did as you suggested and using multiple simple sizers is way more convenient and simple.
Unfortunaltely there seems to be an issue with the generated code from wxGlade.
I tried opening the model with this simple call:
dial = addSwimmerDialog()
dial.ShowModal(self)
but it raises this error:
wx.Dialog.__init__(self, *args, **kwds)
TypeError: Dialog(): arguments did not match any overloaded call:
overload 1: 'style' is not a valid keyword argument
overload 2: 'style' is not a valid keyword argument
The corresponding line is this one:
kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_DIALOG_STYLE
wx.Dialog.__init__(self, *args, **kwds)
Is this caused by wxGlade or did I set a wrong option anywhere?
EDIT:
Using
with addSwimmerDialog(self) as dlg:
if dlg.ShowModal() == wx.ID_OK:
print("User has hit OK")
works fine.
Seems like I violated some patterns when calling dialogs