wxPython: Cómo los botones de opción pueden recordar mi elección cuando cierro el marco

Hola, tengo un marco principal y un botón que cuando se presiona se abre un segundo marco. El segundo cuadro tiene 6 botones de radio. Mi pregunta es cuando elijo un botón de radio diferente del ya seleccionado y cierro el cuadro y cuando lo abro de nuevo (sin cerrar todo el progtwig) ¿por qué se seleccionó el primero y cómo puedo mantener mi nueva selección?

Aquí hay una parte del código del cuadro de segundos:

self.radio1 = wx.RadioButton(self, label="1 sec",pos=(35,35),) self.Bind(wx.EVT_RADIOBUTTON, self.SetLab1, id=self.radio1.GetId()) self.radio2 = wx.RadioButton(self, label="2 sec",pos=(35,55)) self.Bind(wx.EVT_RADIOBUTTON, self.SetLab2, id=self.radio2.GetId()) self.radio3 = wx.RadioButton(self, label="4 sec",pos=(35,75)) self.Bind(wx.EVT_RADIOBUTTON, self.SetLab3, id=self.radio3.GetId()) . . . self.button0=AB.AquaButton(self,label="Exit",pos=(115,142),size=(90,35)) self.Bind(wx.EVT_BUTTON, self.OnButton0, self.button0) def OnButton0(self, event): self.Close() def SetLab1(self,event): global Delay Delay = 'A2/' def SetLab2(self,event): global Delay Delay = 'A3/' def SetLab3(self,event): global Delay Delay = 'A4/' 

si cierras el marco, lo destruyes y cuando lo construyas de nuevo, volverá a su estado predeterminado.

puedes hacer algo como:

 self.radio1 = wx.RadioButton(self, label="1 sec",pos=(35,35),) self.Bind(wx.EVT_RADIOBUTTON, self.SetLab1, id=self.radio1.GetId()) self.radio2 = wx.RadioButton(self, label="2 sec",pos=(35,55)) self.Bind(wx.EVT_RADIOBUTTON, self.SetLab2, id=self.radio2.GetId()) self.radio3 = wx.RadioButton(self, label="4 sec",pos=(35,75)) self.Bind(wx.EVT_RADIOBUTTON, self.SetLab3, id=self.radio3.GetId()) global Delay if Delay is not None: getattr(self,"radio"+str(int(Delay[1])-1)).SetValue(True) 

que seleccionará el botón de opción que coincida con el valor en la variable Delay global.

Una solución más fácil es no “cerrar” el marco, sino esconderlo

 #instead of my_frame.Close() (or my_frame.Destroy()) my_frame.Hide() 

esto mantiene el marco construido, de modo que la próxima vez que lo muestres aún tendrá todos sus valores