Pack parent control in child using control.pack(in_= syntax?

T

Tim Jones

I've a parent class the generates a menu as in:

self.tm.menu = Menubutton(self.main, relief=RAISED, width=20,
bd=0, bg='#ECECEC')
...

I can then pack this menu (self.tm) into the current parent
window/frame and it appears as expected.

However, if I call another class - tool_panel(self) and then try to
post the tm menu into a frame (tf) using
pack(in_=tf, side=RIGHT, anchor=NE)
- the menu takes up space, but doesn't appear. I can see this because
when I pack the icon logo without the menu, the logo is centered in
the new frame. With the menu included, the icon logo is shifted left.

Thoughts or guidance will be greatly appreciated.

Tim

------------

Here's my menu creation code in the parent class:

self.tm = Menubutton(relief='raised', width=20,
bd=0, bg='#ECECEC')
self.tm.menu = Menu(self.tm, tearoff=0,
title='Tool Option')
self.tm['menu'] = self.tm.menu

I set up the call to the tool_panel with a call:

self.tool_panel = tool_panel(self)

Here's the actual tool_panel that I wish to pack into (imported from
another source file called panels.py with 'from panels import *'):

class tool_panel(panel):

def __init__(self, parent):
panel.__init__(self, parent)
tf = Frame(self.main)
self.parent.tm.pack(in_=tf, side=RIGHT)
self.logo = PhotoImage(data=images.icon)
Label(tf, image=self.logo).pack(side=TOP)
tf.pack(side=BOTTOM, fill=BOTH, expand=1)
return

def display(self):
self.display0()
return

pass
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,681
Members
48,796
Latest member
Greg L.

Latest Threads

Top