•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the Python section within the Software Development category of DaniWeb, a massive community of 455,985 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,760 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Python advertiser: Programming Forums
Views: 797 | Replies: 4
![]() |
•
•
Join Date: Nov 2007
Location: Ireland
Posts: 21
Reputation:
Rep Power: 1
Solved Threads: 1
Can anyone point me in the direction of a small app that displays 2 panels on a frame, where one panel is small and at the top taking up about 20% of the frame, and the other panel takes up 80%.
I would like it to be possible using wxBoxSizer but if anyone can show me any other way in wx then that's grand.
LarZ
I would like it to be possible using wxBoxSizer but if anyone can show me any other way in wx then that's grand.
LarZ
if this were a computer game i'd be googling a patch right now...
Here is one example:
python Syntax (Toggle Plain Text)
# put two different size panels into a wxBoxSizer import wx class MyFrame(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title, size=(250, 70)) panel = wx.Panel(self, -1) panel1 = wx.Panel(panel, -1, size=(50, 30)) panel1.SetBackgroundColour('blue') panel2 = wx.Panel(panel, -1, size=(200, 30)) panel2.SetBackgroundColour('green') box = wx.BoxSizer(wx.VERTICAL) box.Add(panel1, 1) box.Add(panel2, 1) panel.SetSizer(box) self.Centre() class MyApp(wx.App): def OnInit(self): frame = MyFrame(None, -1, 'wxBoxSizer.py') frame.Show(True) return True app = MyApp(0) app.MainLoop()
Last edited by sneekula : Dec 5th, 2007 at 3:40 pm. Reason: size
No one died when Clinton lied.
•
•
Join Date: Nov 2007
Location: Ireland
Posts: 21
Reputation:
Rep Power: 1
Solved Threads: 1
Thanks a lot, but the panels are still resizing when the frame gets resized, so they're not of a fixed size.
I don't want each panel taking up half of the overall height of the panel/frame in which it is contained. I want at least the top one to stay the same size at all times....
anyone have any ideas?
I don't want each panel taking up half of the overall height of the panel/frame in which it is contained. I want at least the top one to stay the same size at all times....
anyone have any ideas?
if this were a computer game i'd be googling a patch right now...
•
•
Join Date: Nov 2007
Location: Ireland
Posts: 21
Reputation:
Rep Power: 1
Solved Threads: 1
yeah i decided to ditch the boxsizer, as it has a mind of its own at the best of times... I'm just throwing in the position of the frames and the size as follows:
python Syntax (Toggle Plain Text)
from wxPython.wx import * class APanel(wxPanel): def __init__(self, parent,size,pos): wxPanel.__init__(self,parent,-1,size = size,pos = pos) class MainFrame(wxFrame): def __init__(self, parent, ID, title): wxFrame.__init__(self, parent, ID, title, size = (500,500)) self.testPanel = self.createTestPanel(self) self.argsPanel = self.createArgsPanel(self) def createTestPanel(self,parent): size = wxSize(250, 100) pos = (0,0) testPanel = APanel(parent,size,pos) testPanel.SetBackgroundColour("GRAY") print "returning panel %s" %testPanel return testPanel def createArgsPanel(self,parent): size = wxSize(250, 300) pos = (0,100) argsPanel = APanel(parent,size,pos) argsPanel.SetBackgroundColour("BLUE") print "returning panel %s" %argsPanel return argsPanel class MyApp(wxApp): def OnInit(self): frame = MainFrame(NULL, -1, "I hate sizers :D") frame.Show(1) return true app = MyApp(0) app.MainLoop()
Last edited by LarZ : Dec 7th, 2007 at 10:20 am. Reason: Better Example
if this were a computer game i'd be googling a patch right now...
![]() |
•
•
•
•
•
•
•
•
DaniWeb Python Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
- Previous Thread: Python 2.4.4, Segmentation fault
- Next Thread: GUI Python - A Guessing Game



Linear Mode