Next time please don't add in previous post.
Post on a new thread so that your post will be on top and people will know it.
Okay... for anybody wants to learn pygtk and glade, I would like to suggest Tepache.
http://kefir.sourceforge.net/tepache/index.htmlDebian user can just: apt-get install tepache
This application will create a basic python code from your glade file.
This is my example code using tepache for radiobutton.
This example will open different window when you choose different radionbutton and click OK button:
CODE
#!/usr/bin/env python
# -*- coding: UTF8 -*-
# Python module project2.py
# Autogenerated from project2.glade
# Generated on Tue Apr  7 11:22:14 2009
# Warning: Do not modify any context comment such as #--
# They are required to keep user's code
import os
import gtk
from SimpleGladeApp import SimpleGladeApp
from SimpleGladeApp import bindtextdomain
app_name = "project2"
app_version = "0.0.1"
glade_dir = ""
locale_dir = ""
bindtextdomain(app_name, locale_dir)
class Window1(SimpleGladeApp):
  def __init__(self, path="project2.glade",
        root="window1",
        domain=app_name, **kwargs):
    path = os.path.join(glade_dir, path)
    SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
 Â
  #-- Window1.new {
  def new(self):
    print "A new %s has been created" % self.__class__.__name__
  #-- Window1.new }
  #-- Window1 custom methods {
  #  Write your own methods here
  #-- Window1 custom methods }
  #-- Window1.on_window1_destroy {
  def on_window1_destroy(self, widget, *args):
    print "on_window1_destroy called with self.%s" % widget.get_name()
    gtk.main_quit()
  #-- Window1.on_window1_destroy }
  def on_window2_destroy(self, widget, *args):
    print "on_window1_destroy called with self.%s" % widget.get_name()
    gtk.main_quit()
  #-- Window2.on_window2_destroy }
 Â
  def on_window3_destroy(self, widget, *args):
    print "on_window1_destroy called with self.%s" % widget.get_name()
    gtk.main_quit()
  #-- Window3.on_window3_destroy }
 Â
  def on_window4_destroy(self, widget, *args):
    print "on_window1_destroy called with self.%s" % widget.get_name()
    gtk.main_quit()
  #-- Window4.on_window4_destroy }
 Â
  #-- Window1.on_button2_clicked {  def on_button2_clicked(self, widget, *args):
  def on_button2_clicked(self, widget, *args):
    print "on_button2_clicked called with self.%s" % widget.get_name()
    gtk.main_quit()
  #-- Window1.on_button2_clicked }
  #-- Window1.on_button1_clicked {
  def on_button1_clicked(self, widget, *args):
    print "on_button1_clicked called with self.%s" % widget.get_name()
if self.radiobutton1.get_active():
      Window2()
    if self.radiobutton2.get_active():
      Window3()
    if self.radiobutton3.get_active():
      Window4()
  #-- Window1.on_button1_clicked }
  #-- Window1.on_radiobutton1_toggled {
  def on_radiobutton1_toggled(self, widget, *args):
    print "on_radiobutton1_toggled called with self.%s" % widget.get_name()
  #-- Window1.on_radiobutton1_toggled }
  #-- Window1.on_radiobutton2_toggled {
  def on_radiobutton2_toggled(self, widget, *args):
    print "on_radiobutton2_toggled called with self.%s" % widget.get_name()
  #-- Window1.on_radiobutton2_toggled }
 Â
  #-- Window1.on_radiobutton3_toggled {
  def on_radiobutton3_toggled(self, widget, *args):
    print "on_radiobutton3_toggled called with self.%s" % widget.get_name()
  #-- Window1.on_radiobutton3_toggled }
class Window2(SimpleGladeApp):
  def __init__(self, path="project2.glade",
        root="window2",
        domain=app_name, **kwargs):
    path = os.path.join(glade_dir, path)
    SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
  #-- Window2.new {
  def new(self):
    print "A new %s has been created" % self.__class__.__name__
  #-- Window2.new }
  #-- Window2 custom methods {
  #  Write your own methods here
  #-- Window2 custom methods }
class Window3(SimpleGladeApp):
  def __init__(self, path="project2.glade",
        root="window3",
        domain=app_name, **kwargs):
    path = os.path.join(glade_dir, path)
    SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
  #-- Window3.new {
  def new(self):
    print "A new %s has been created" % self.__class__.__name__
  #-- Window3.new }
  #-- Window3 custom methods {
  #  Write your own methods here
  #-- Window3 custom methods }
class Window4(SimpleGladeApp):
  def __init__(self, path="project2.glade",
        root="window4",
        domain=app_name, **kwargs):
    path = os.path.join(glade_dir, path)
    SimpleGladeApp.__init__(self, path, root, domain, **kwargs)
  #-- Window4.new {
  def new(self):
    print "A new %s has been created" % self.__class__.__name__
  #-- Window4.new }
  #-- Window4 custom methods {
  #  Write your own methods here
  #-- Window4 custom methods }
#-- main {
def main():
  window1 = Window1()
  #window2 = Window2()
  #window3 = Window3()
  #window4 = Window4()
  window1.run()
if __name__ == "__main__":
  main()
#-- main }
Screenshot:
This post has been edited by oshiri: Apr 10 2009, 01:36 PM