Sizers VS window size

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Deltones

    #1

    Sizers VS window size

    Hi,

    I'm trying to understand one of the wiki wxPython tutorial, and I must
    admit I`m a bit baffled by sizers. If I run the following relevant
    piece of code, I get the result I expect, i.e a 800x600 window being
    opened (sorry for the formatting):

    objFrame = MainWindow(None , -1, "Small Editor", (800, 600))

    def __init__(self, parent, id, title, custom_size):
    wx.Frame.__init __(self, parent, wx.ID_ANY, title, size =
    custom_size,
    style = wx.DEFAULT_FRAM E_STYLE |
    wx.NO_FULL_REPA INT_ON_RESIZE)

    However, if I add this part from the tutorial, I get a much smaller
    window. Why is there an interference with the result I want when
    adding the sizer code?

    Here's the code:

    # Sizer section to understand
    self.sizer2 = wx.BoxSizer(wx. HORIZONTAL)
    self.buttons = []

    for nI in range(0, 6):
    self.buttons.ap pend(wx.Button( self, ID_BUTTON + nI, "Button &" +
    `nI`))
    self.sizer2.Add (self.buttons[nI], 1, wx.EXPAND)

    self.sizer = wx.BoxSizer(wx. VERTICAL)
    self.sizer.Add( self.control, 1, wx.EXPAND)
    self.sizer.Add( self.sizer2, 0, wx.EXPAND)

    self.SetSizer(s elf.sizer)
    self.SetAutoLay out(1)
    self.sizer.Fit( self)
    # End of sizer section

    Thanks

    Denis
  • Brian Victor

    #2
    Re: Sizers VS window size

    Deltones wrote:[color=blue]
    > However, if I add this part from the tutorial, I get a much smaller
    > window. Why is there an interference with the result I want when
    > adding the sizer code?[/color]
    [snip][color=blue]
    > self.sizer.Fit( self)[/color]

    As noted in the the docs for Fit(): "Tell the sizer to resize the window
    to match the sizer's minimal size." Take this call out and the size
    should be as you expect.

    --
    Brian

    Comment

    • Deltones

      #3
      Re: Sizers VS window size

      Brian Victor <bhv1@psu.edu > wrote in message news:<slrnd1mp6 p.t0p.bhv1@pa-steclge-u3-c3b-133.stcgpa.adel phia.net>...[color=blue]
      > Deltones wrote:[color=green]
      > > However, if I add this part from the tutorial, I get a much smaller
      > > window. Why is there an interference with the result I want when
      > > adding the sizer code?[/color]
      > [snip][color=green]
      > > self.sizer.Fit( self)[/color]
      >
      > As noted in the the docs for Fit(): "Tell the sizer to resize the window
      > to match the sizer's minimal size." Take this call out and the size
      > should be as you expect.[/color]

      Thanks Brian, that was it. I admit I'm having quite a lot of fun
      learning the Python/wxPython combo, but man is there a lot of concepts
      to grasp!

      Denis

      Comment

      Working...