[wxPython-users] 2 panels in a NotebookPage

Matthieu Brucher matthieu.brucher at gmail.com
Wed Oct 24 07:54:26 PDT 2007


Thank you, this seems to work on Linux, I have to check if it works with
Windows this evening. *I tried something like this before, but it was
obviously not correct.
In fact, the only change is that you use the panel on the whole notebook
page. This should work without it, shouldn't it ? Or is the NotebookPage the
whole page with the tab ?

Matthieu

2007/10/24, Rickey, Kyle W <Kyle.Rickey at bakerhughes.com>:
>
> I guess I don't understand why you need 2 panels. Why not add everything
> to 1 panel and use multiple sizers to get the layout you want? I've modif=
ied
> your demo below. Perhaps you could post some sample code for the matplotl=
ib
> and checkboxes scenario and we could look for the problem.
>
> Kyle Rickey
>
>
> #!/usr/bin/env python
>
> import wx
>
> class MyPage( wx.NotebookPage):
>   def __init__(self, parent):
>     wx.NotebookPage.__init__(self, parent, -1)
>     sizer =3D wx.BoxSizer(wx.VERTICAL)
>
>     self.panel =3D wx.Panel(self)
>
>     sizer.Add(self.createBoxes(), 0, 0)
>     sizer.Add(self.createBoxes (), 0, wx.TOP, 30)
>
>     self.panel.SetSizer(sizer)
>     self.panel.Fit()
>
>   def createBoxes(self):
>     """
>     Create a set of checkboxes. Here a specific sizer is used
>     """
>     sizer =3D wx.GridSizer(4, 7)
>     for x in range(0, 4):
>       for y in range(0, 7):
>         box =3D wx.CheckBox(self.panel, -1, '%d-%d' %(x, y))
>         sizer.Add(box)
>     return sizer
>
> class MainFrame(wx.Frame):
>   def __init__(self):
>     wx.Frame.__init__(self, None, -1)
>     self.notebook =3D wx.Notebook(self)
>     self.notebook.AddPage(MyPage( self.notebook), "test")
>
> class App(wx.App):
>   def OnInit(self):
>     'Create the main window and insert the custom frame'
>     frame =3D MainFrame()
>     frame.Show(True)
>
>     return True
>
> app =3D App(0)
> app.MainLoop()
>
> -----Original Message-----
> From: Matthieu Brucher [mailto:matthieu.brucher at gmail.com]
> Sent: Wednesday, October 24, 2007 12:33 AM
> To: wxPython-users at lists.wxwidgets.org
> Subject: Re: [wxPython-users] 2 panels in a NotebookPage
>
> No, in fact I want to have a group of checkboxes with a Matplotlib figure,
> but the same bug occurs, so for the sake of simplicity, I use twice the s=
ame
> panel.
> 2007/10/23, Rickey, Kyle W < Kyle.Rickey at bakerhughes.com>:
> Are you trying to separate the checkboxes into groups? You can do so with
> a staticbox. Check out the demo, it's got a good example for staticboxes.
>
> -----Original Message-----
> From: Matthieu Brucher [mailto:matthieu.brucher at gmail.com]
> Sent: Tuesday, October 23, 2007 4:18 PM
> To: wxPython-users at lists.wxwidgets.org
> Subject: [wxPython-users] 2 panels in a NotebookPage
>
> Hi,
>
> I'm trying to get two simple panels with somecheckboxes appear on a
> classic NotebookPage. The problem is that they do not display themselves
> correctly :
>
> #!/usr/bin/env python
>
> import wx
>
> class MyPage( wx.NotebookPage):
> def __init__(self, parent):
> wx.NotebookPage.__init__(self, parent, -1)
> sizer =3D wx.BoxSizer(wx.VERTICAL)
>
> sizer.Add(self.createBoxes(), 0, 0)
> sizer.Add(self.createBoxes (), 0, 0)
>
> self.SetSizer(sizer)
> self.Fit()
>
> def createBoxes(self):
> """
> Create a set of checkboxes. Here a specific sizer is used
> """
> panel =3D wx.Panel(self)
> sizer =3D wx.GridSizer(4, 7)
> for x in range(0, 4):
> for y in range(0, 7):
> box =3D wx.CheckBox(panel, -1, '%d-%d' %(x, y))
> sizer.Add(box)
> panel.SetSizer (sizer)
> panel.Fit()
> return panel
>
> class MainFrame(wx.Frame):
> def __init__(self):
> wx.Frame.__init__(self, None, -1)
> self.notebook =3D wx.Notebook(self)
> self.notebook.AddPage(MyPage( self.notebook), "test")
>
> class App(wx.App):
> def OnInit(self):
> 'Create the main window and insert the custom frame'
> frame =3D MainFrame()
> frame.Show(True)
>
> return True
>
> app =3D App(0)
> app.MainLoop()
>
> With this sample, two panels are created with createBoxes(), but only one
> is displayed and usable.
> Is there an obvious mistake in what I'm doing ?
>
> Matthieu
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: wxPython-users-unsubscribe at lists.wxwidgets.org
> For additional commands, e-mail: wxPython-users-help at lists.wxwidgets.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wxwidgets.org/pipermail/wxpython-users/attachments/200710=
24/940d0adb/attachment.htm


More information about the wxpython-users mailing list