Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import wx
- class CheckBoxFrame(wx.Frame):
- def __init__(self):
- wx.Frame.__init__(self, None, -1, 'Export Sequences', size=(500, 700))
- self.panel = wx.Panel(self, -1)
- mainSizer = wx.BoxSizer(wx.VERTICAL)
- self.panel.sizer = wx.GridBagSizer(hgap=5, vgap=5)
- # Check boxes for output formats
- formats = ["Seperate Fasta File", "Multiple Fasta File", "Seperate CSV File",
- "Multiple CSV File"]
- row = 1
- for lable in formats:
- self.make_widgets(lable, row, id=row)
- row += 1
- mainSizer.Add(self.panel.sizer, 0, wx.ALL, 10)
- self.panel.SetSizer(mainSizer)
- mainSizer.Fit(self.panel)
- mainSizer.SetSizeHints(self.panel)
- def EvtCheckBox(self, evt):
- # CB conditions
- cb_single_fas = self.panel.FindWindowByLabel("Seperate Fasta File")
- cb_multi_fas = self.panel.FindWindowByLabel("Multiple Fasta File")
- cb_single_csv = self.panel.FindWindowByLabel("Seperate CSV File")
- cb_multi_csv = self.panel.FindWindowByLabel("Multiple CSV File")
- if cb_single_fas.GetValue() == True:
- cb_multi_fas.Enable(False)
- cb_single_csv.Enable(False)
- cb_multi_csv.Enable(False)
- elif cb_single_fas.GetValue() == False:
- cb_multi_fas.Enable(True)
- cb_single_csv.Enable(True)
- cb_multi_csv.Enable(True)
- elif cb_single_csv.GetValue() == True:
- cb_multi_fas.Enable(False)
- cb_single_fas.Enable(False)
- cb_multi_csv.Enable(False)
- elif cb_single_csv.GetValue() == False:
- cb_multi_fas.Enable(True)
- cb_single_fas.Enable(True)
- cb_multi_csv.Enable(True)
- def make_widgets(self, lable, row, id):
- """Function to create text and cb widgets."""
- # Widgets
- cb = wx.CheckBox(self.panel, id, lable, (90, 50), (-1, -1))
- self.Bind(wx.EVT_CHECKBOX, self.EvtCheckBox, cb)
- # Fonts
- cb.SetFont(wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL))
- # Sizers
- self.panel.sizer.Add(cb, pos=(row, 3))
- if __name__ == '__main__':
- app = wx.PySimpleApp()
- CheckBoxFrame().Show()
- app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement