Le jeu 06/03/2003 � 13:55, Christian Reis a �crit :
> On Wed, Mar 05, 2003 at 11:57:24PM +0100, Martin Preishuber wrote:
> > > > 2.) I create some windows with glade (pygtk2 1.99.15), to use it I do
> > > > something like:
> > > >
> > > > xml = gtk.glade.XML(gladefile)
> > > >
> > > > this works fine, but it immidiately shows the window ... is there any
> > > > way to load it invisible and set it to visible manually later ? I need
> > > > to fill some parts of the window before it is visible.
> > >
> > > Go into glade, mark the window, go the Common tab, uncheck Visible.
> >
> > thanks again ... how comes, that I feel somehow stupid now ? :|
>
> You shouldn't. This is a very common problem when using liglade to build
> a complex application -- the parse of the file has the side-effect of
> rendering the window when it's marked as visible.
>
> I've discussed this before, and I'm not sure there is a good solution to
> the problem. On one hand, you could ignore the visible attribute for
> top-level windows, but that would be violating the 1-1 correspondence
> between gladefile and libglade tree which is expected. On the other
> hand, you could have Glade make GtkWindows not visible my default; but
> then you have a consistency issue between windows and other widgets.
>
> I don't see solutions (beyond stuff like
>
> GladeXML("foo.glade", invisible_windows=1)
>
> which I don't like very much). But maybe somebody else does.
>
Hi,
Here is my approach to use glade for a complex application. I suppose an
application with two windows (window1 and an about widget).
def on_about_activate(obj):
about = XML("foo.glade", "about1").get_widget("about1")
about.show()
def start_foo():
global wTree
dic = {"gtk_main_quit": mainquit,
"on_button1_clicked":on_about_activate}
gnome.init("foo.glade","2.0")
wTree = XML("foo.glade", "window1")
wTree.signal_autoconnect(dic)
"""At this level only window1 appear and when you button1 is
clicked the about1 widget appear too.
You haven't to specify anything for a GtkWidget like not
visible property.
"""
if __name__ == "__main__":
start_foo()
mainloop()
Perhaps is not a correct approach but it works very well for.
_______
Omar Mekkaoui
Thema, University of Cergy-Pontoise
France
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/