Hi guys,

 I'm having trouble with weird activity with a Tkinter GUI I'm
creating. I've stripped down the code somewhat to simplify the
problem somewhat, and I've posted it below, with further explanation
at the end of this message:

 from Tkinter import *
import tkFileDialog,tkSimpleDialog

WINDOWWIDTH=500
WINDOWHEIGHT=500
class App:
   def __init__ (self,master):
       self.window = Frame(master)
       self.window.pack()
       self.master= master
       #Create frame to contain all others
      self.display=Frame(self.window,width=WINDOWWIDTH,height=WINDOWHEIGHT,
bg='black')
       self.display.pack()
       self.addMenu(self.master)
       #Create widgets
       self.createwidgets()

   def createwidgets(self):

      self.leftframe=Frame(self.display,
width=WINDOWWIDTH/3,height=WINDOWHEIGHT, bg='white')
       self.rightframe=Frame(self.display,
width=2*WINDOWWIDTH/3,height=WINDOWHEIGHT, bg='blue')
       self.leftframe.pack(side="left", expand="yes", fill="x")
       self.rightframe.pack(side="left", expand="yes", fill="x")

   def displayStories(self):
       self.lb = Text(self.leftframe)
       self.lb.pack()

   def addMenu(self,master):
       self.menu = Menu(self.window)
       master.config(menu=self.menu)

      self.feedmenu = Menu(self.menu)
       self.menu.add_cascade(label="RSS", menu=self.feedmenu)
       self.feedmenu.add_command(label="Load RSS",
command=self.displayStories)

root=Tk()
app=App(root)

root.mainloop()

 :

 Basically I'm trying to create 2 columns on the page so that
(eventually) I will be able to have sepearte text boxes in each
column. The code so far creates a leftframe and rightframe, with
parent frame self.display . When I run the script this happens as
expected.

But next, I want to create a text box within self.leftframe which is
done in function displayStories . self.lb is created with parent
self.leftframe . When this is run, the text box shows up, but my
layout goes to hell. I want the text box to be contained within
self.leftframe, but when it is added self.leftframe disappears (or is
completely filled by the text box), the dimensions that I had
specified for self.leftframe and self.rightframe are forgotten about,
and I can see self.display (black background) on the part of the
screen in the left frame that is not filled by the text box. This
makes a lot more sense if you run the simple script I've posted.

I've tried adjusting various options, and also using the "grid"
manager instead of "pack", but I can't seem to figure out why this is
happening. Can anyone help out?

Thanks,
Luke


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to