[Tkinter-discuss] Getting a canvas within an existing frame.
kimmyaf
flahertyk1 at hotmail.com
Thu Apr 22 03:38:06 CEST 2010
I cannot get my canvas to show within my existing frame. I can only get it
to build it's own frame. Can someone help? As you can see i've tried a
number of different things so i have a lot of stuff commented out at the
bottom. attached is a picture of what my GUI looks like. I want the canvas
to show in the same frame as the address entries not seperately. Any help is
appreciated. I see a lot of examples on the web but they are all building
the canvas in their own frame. I need it in the other frame.
class App:
def __init__(self, master):
self.master = master # store link to master window (or:
self.frame._root())
self.frame = Frame(master) # make a frame with master as parent
self.frame.grid(row=0, column=0) # initiate drawing of frame in
master window
# make a label
self.label = Label(self.frame, text="Massachusetts Bay Transit
Authority - Bus Locator", justify=LEFT,
font= ("Helvetica","16", "bold"))
self.label.grid(row=0, column=0, columnspan=4)
print self.label.cget("font") # what's my font?
# make another label
self.label = Label(self.frame, text="Enter your current location",
justify=LEFT,
font= ("Helvetica","12"))
self.label.grid(row=1, column=0)
print self.label.cget("font") # what's my font?
#######################################TEXT FIELDS##############
# make address text entry field
self.entry_addr = StringVar()
self.entry = Entry(self.frame, width=25,
textvariable=self.entry_addr)
self.entry_addr.set("Address line 1")
self.entry.grid(row=1, column=1)
# make City text entry field
self.entry_city = StringVar()
self.entry = Entry(self.frame, width=25,
textvariable=self.entry_city)
self.entry_city.set("City")
self.entry.grid(row=2, column=1)
# make State text entry field
self.entry_state = StringVar()
self.entry = Entry(self.frame, width=11,
textvariable=self.entry_state)
self.entry_state.set("State Abvtn")
self.entry.grid(row=3, column=1)
# make Zip text entry field
self.entry_zip = StringVar()
self.entry = Entry(self.frame, width=5, textvariable=self.entry_zip)
self.entry_zip.set("zip")
self.entry.grid(row=4, column=1)
###################################CANVAS#######################
# Tkinter cannot use a PIL Image directly, but we can make a
PhotoImage from it
#img = Image.open("Imgfolder\map.jpg")
#define a new frame and put a text area in it
#self.imgframe=Frame(self.frame)
#self.text=Text(self.textframe,height=30, width=50,wrap=WORD)
#self.text.pack(side=LEFT, fill=BOTH)
#tkinter_phimg = ImageTk.PhotoImage(i) # can do only after Tk()!
self.imgframe = Tkinter.Tk()
self.canvas = Tkinter.Canvas(self.imgframe, width=50, height=50)
#canvas.pack()
http://old.nabble.com/file/p28323328/frames.jpg
--
View this message in context: http://old.nabble.com/Getting-a-canvas-within-an-existing-frame.-tp28323328p28323328.html
Sent from the Python - tkinter-discuss mailing list archive at Nabble.com.
More information about the Tkinter-discuss
mailing list