sizer works different on several PC's

Hi!

I tried my program on several PC’s and the interface looks different. There are many spaces between the objects which I don’t want.

Here’s how it’s looks like:

http://www.snowflake-sl.info/posting/post.html

I tried all on Windows XP, wxPython 2.8.71.

Here’s some code, how I made the sizers:

    mainSizer = wx.BoxSizer(wx.VERTICAL)
    sizer = wx.GridBagSizer(hgap=5, vgap=5)
    sizer.Add(text38, pos=(1, 1))
    sizer.Add(self.field38, pos=(1, 2), span=(2,4), flag=wx.EXPAND)
    sizer.Add(text39, pos=(4, 1))
    sizer.Add(text40, pos=(4, 2))
    sizer.Add(self.field40, pos=(4, 3))
    sizer.Add(text41, pos=(4, 4))
    sizer.Add(self.field41, pos=(4, 5))
    sizer.Add(text42, pos=(4, 6))
    sizer.Add(self.field42, pos=(4, 7))
    sizer.Add(text43, pos=(6, 1))
    sizer.Add(text44, pos=(6, 2))
    sizer.Add(self.field44, pos=(6, 3))
    sizer.Add(text45, pos=(6, 4))
    sizer.Add(self.field45, pos=(6, 5))
    sizer.Add(text46, pos=(6, 6))
    sizer.Add(self.field46, pos=(6, 7))
    sizer.Add(text47, pos=(8, 1))
    sizer.Add(text48, pos=(8, 2))
    sizer.Add(self.field48, pos=(8, 3))
    sizer.Add(text49, pos=(8, 4))
    sizer.Add(self.field49, pos=(8, 5))
    sizer.Add(text50, pos=(8, 6))
    sizer.Add(self.field50, pos=(8, 7))
    sizer.Add(text51, pos=(10, 1), span=(1,4), flag=wx.EXPAND)
    sizer.Add(self.field51, pos=(10, 5))
    sizer.Add(text52, pos=(11, 1), span=(1,4), flag=wx.EXPAND)
    sizer.Add(self.field52, pos=(11, 5))
    sizer.Add(text53, pos=(12, 1))
    sizer.Add(self.field53, pos=(12, 5))
    sizer.Add(text54, pos=(13, 1))
    sizer.Add(self.field54, pos=(13, 5))
    sizer.Add(text55, pos=(14, 1))
    sizer.Add(self.field55, pos=(14, 5))
    sizer.Add(text56, pos=(15, 1), span=(1,4), flag=wx.EXPAND)
    sizer.Add(self.field56, pos=(15, 5))

    mainSizer.Add(sizer, 0, wx.ALL, 10)
    self.SetSizer(mainSizer)
    mainSizer.Fit(self)
    mainSizer.SetSizeHints(self)

Does someone has I idea what the problem?

Thanks in advance!

Stefanie

Stefanie Lück wrote:

Hi!
I tried my program on several PC's and the interface looks different. There are many spaces between the objects which I don't want.
Here's how it's looks like:
http://www.snowflake-sl.info/posting/post.html
I tried all on Windows XP, wxPython 2.8.71.
Here's some code, how I made the sizers:
...
        mainSizer = wx.BoxSizer(wx.VERTICAL)
        sizer = wx.GridBagSizer(hgap=5, vgap=5)
        sizer.Add(text38, pos=(1, 1))
        sizer.Add(self.field38, pos=(1, 2), span=(2,4), flag=wx.EXPAND)
        sizer.Add(text39, pos=(4, 1))
        sizer.Add(text40, pos=(4, 2))
        sizer.Add(self.field40, pos=(4, 3))
        sizer.Add(text41, pos=(4, 4))
        sizer.Add(self.field41, pos=(4, 5))
        sizer.Add(text42, pos=(4, 6))
        sizer.Add(self.field42, pos=(4, 7))
        sizer.Add(text43, pos=(6, 1))
        sizer.Add(text44, pos=(6, 2))
        sizer.Add(self.field44, pos=(6, 3))
        sizer.Add(text45, pos=(6, 4))
        sizer.Add(self.field45, pos=(6, 5))
        sizer.Add(text46, pos=(6, 6))
        sizer.Add(self.field46, pos=(6, 7))
        sizer.Add(text47, pos=(8, 1))
        sizer.Add(text48, pos=(8, 2))
        sizer.Add(self.field48, pos=(8, 3))
        sizer.Add(text49, pos=(8, 4))
        sizer.Add(self.field49, pos=(8, 5))
        sizer.Add(text50, pos=(8, 6))
        sizer.Add(self.field50, pos=(8, 7))
        sizer.Add(text51, pos=(10, 1), span=(1,4), flag=wx.EXPAND)
        sizer.Add(self.field51, pos=(10, 5))
        sizer.Add(text52, pos=(11, 1), span=(1,4), flag=wx.EXPAND)
        sizer.Add(self.field52, pos=(11, 5))
        sizer.Add(text53, pos=(12, 1))
        sizer.Add(self.field53, pos=(12, 5))
        sizer.Add(text54, pos=(13, 1))
        sizer.Add(self.field54, pos=(13, 5))
        sizer.Add(text55, pos=(14, 1))
        sizer.Add(self.field55, pos=(14, 5))
        sizer.Add(text56, pos=(15, 1), span=(1,4), flag=wx.EXPAND)
        sizer.Add(self.field56, pos=(15, 5))
        mainSizer.Add(sizer, 0, wx.ALL, 10)
        self.SetSizer(mainSizer)
        mainSizer.Fit(self)
        mainSizer.SetSizeHints(self)
...
Does someone has I idea what the problem?
Thanks in advance!
Stefanie

I've had issues like this when I have long widgets that aren't spanned. You'll probably want to set all those StaticText strings at the bottom to span multiple columns. In my own applications, I almost never use the grid widgets because I usually can't get them to look the way I want them to. Instead, I nest BoxSizers. Maybe someone else on the list will have some good ideas. FYI: I don't recommend calling naming your fields "field1", "field2", "text20", "text21", etc. Doing so makes changing the app in the future much harder.

Mike

Stefanie Lück wrote:

Hi!
I tried my program on several PC's and the interface looks different.

Is this wxGTK (Linux, etc)? Are the systems using different themes? That may explain it.

-Chris

···

--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris.Barker@noaa.gov