Στον κώδικα μου έχω ένα παράθυρο το οποίο έχει ένα κουμπί το οποίο ανοίγει ένα δεύτερο παράθυρο στο οποίο υπάρχουν κάποια checkbox. Η ερώτηση μου είναι πως μπορώ όταν κλείσω το δεύτερο παράθυρο να θυμάται όταν το ξανά ανοίξω ποια checkbox έχω επιλέξει;
Σημείωση: να κλείσει μόνο το δεύτερο παράθυρο και όχι να κλείσει όλο το πρόγραμμα και να ξανά τρέξει.
Παραθέτω ένα παράδειγμα που έκανα:
import wx
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Test",size=(300,200))
self.Btn = wx.Button(self, label="New",pos=(10,10),size=(30,30))
self.Bind(wx.EVT_BUTTON, self.new, self.Btn)
def new(self, event):
newFrame().Show()
class newFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Test 2",size=(300,200))
self.ch0 = wx.CheckBox(self, -1,"Choice 1",pos=(10,10))
self.Bind(wx.EVT_CHECKBOX, self.OnCB0, self.ch0)
self.ch1 = wx.CheckBox(self, -1,"Choise 2",pos=(10,30))
self.Bind(wx.EVT_CHECKBOX, self.OnCB1, self.ch1)
self.ch2 = wx.CheckBox(self, -1,"Choise 3",pos=(10,50))
self.Bind(wx.EVT_CHECKBOX, self.OnCB2, self.ch2)
def OnCB0(self, event):
if self.ch0.IsChecked():
print "Checked 1"
else:
print "UnChecked 1"
def OnCB1(self, event):
if self.ch1.IsChecked():
print "Checked 2"
else:
print "UnChecked 2"
def OnCB2(self, event):
if self.ch2.IsChecked():
print "Checked 3"
else:
print "UnChecked 3"
if __name__ == '__main__':
app = wx.App(False)
app.frame = MainFrame()
app.frame.Show()
app.MainLoop()