From: Phil E. <ph...@li...> - 2007-10-15 11:48:27
|
Alec Bennett wrote: > I'm wondering if anyone might give me a clue about how to send a > parameter from a child window to the parent? I have the child window > launched, it can set gui components in the parent (for example > self.parent.components.whatever.text = "hello"), and the parent can set > gui components in the child, but I'm unable to set variables directly. > > I'm building the child/parent relationship the way David does in this > tutorial: > > http://pythoncard.sourceforge.net/walkthrough3.html > > I could use some duct tape and have a thread checking the contents of a > text field that I set from the other window, but that's just so ugly. > > I've gone through all the samples and all the documentation I could find > and can't figure it out. > > Anyone? > The trick is in the fact that your child window is always active, but is (usually anyway, YMMV) not actually made visible on screen until needed, by calling: self.myChildWindow.show() You should be able to just set a class member variable in your child window code and have the parent window pick it up later. So in your child window, you'd want: self.someVariable = ['spam', 'chips', 'beans'] Then in your main window, you can access this as self.myChildwindow.someVariable. As you've already discovered, it works the other way round, too, i.e. you could do this in your parent window: self.otherVariable = ['spam', 'eggs', 'spam'] Then have the child window reference this as self.parent.otherVariable. -- Regards Phil Edwards Brighton, UK |