Great news, because there’s supposedly a solution.
Documented here: wxPopup(Transient)Window and combo box - wxWidgets Discussion Forum
And mentioned in the documentation:
wx.PU_CONTAINS_CONTROLS
: By default in wxMSW, a popup window will not take focus from its parent window. However many standard controls, including common ones such as wx.TextCtrl, need focus to function correctly and will not work when placed on a default popup. This flag can be used to make the popup take focus and let all controls work but at the price of not allowing the parent window to keep focus while the popup is shown, which can also be sometimes desirable. This style is currently only implemented in MSW and simply does nothing under the other platforms (it’s new since wxWidgets 3.1.3).
Find the def OnCalendar(self, _event=None): definition and replace it with this:
def OnCalendar(self, _event=None):
if self._pop:
return
self._pop = True # controls only one popup at any one time
self.calendar = CalendarPopup(
self, self._date, self.OnDate, self.GetTopLevelParent(), wx.PU_CONTAINS_CONTROLS|wx.SIMPLE_BORDER)
pos = self.ClientToScreen((0, 0))
size = self.GetSize()
self.calendar.Position(pos, (0, size.height))
Then remove the wx.adv.CAL_SEQUENTIAL_MONTH_SELECTION from the styles of self.mdp
That should do it!
If it does I’ll include in the next version.
As you’ll see, it’s an wxMSW only issue, so thanks for tracking that down for me.
Regards,
Rolf