What should I do if I want to dynamically changes the content of Choice

  The problem is that there are two Choice drop-down boxes in the UI, the content of the second box is initially empty, and when the user selects an option in the first box, the corresponding option appears in the second box。
  For example, if the first box is month, the second box is day, and the user selects January, then the second box has 1... . 31, the user chooses February, the second frame is 1... 28。
  My code is as follows.
import wx

class myFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__ ( self, None, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

        self.SetSizeHints( wx.DefaultSize, wx.DefaultSize )

        bSizer9 = wx.BoxSizer( wx.VERTICAL )

        self.m_staticText14 = wx.StaticText( self, wx.ID_ANY, u"select Month", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText14.Wrap( -1 )

        bSizer9.Add( self.m_staticText14, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

        # select month
        m_choice1Choices = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]
        self.m_choice1 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice1Choices, 0 )
        self.m_choice1.SetSelection( 0 )
        bSizer9.Add( self.m_choice1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

        self.m_staticText15 = wx.StaticText( self, wx.ID_ANY, u"select Day", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText15.Wrap( -1 )

        bSizer9.Add( self.m_staticText15, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
        # select day
        m_choice2Choices = [str(i) for i in range(1,31)]
        self.m_choice2 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice2Choices, 0 )
        self.m_choice2.SetSelection( 0 )
        bSizer9.Add( self.m_choice2, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

        self.SetSizer( bSizer9 )

        self.Centre( wx.BOTH )

app = wx.App()

Bind the wx.EVT_CHOICE event on the first wx.Choice to a handler. On the handler, use the second wx.Choice.SetItems method to change them. Take a look at https://wxpython.org/Phoenix/docs/html/events_overview.html.

But if you want to use a control to pick a date perhaps these ones could be useful:

thank you tacao, your answer is very helpful.