Advertisement
Guest User

PyGTK RadioButton Exemplo

a guest
Oct 26th, 2010
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import gtk
  5.  
  6. class Application(object):
  7.     def __init__(self):
  8.         self.w = gtk.Window()
  9.         self.w.set_title('Foo')
  10.         self.w.set_position(gtk.WIN_POS_CENTER)
  11.  
  12.         self.w.connect('destroy', gtk.main_quit)
  13.  
  14.         self.vbox = gtk.VBox(False, 10)
  15.  
  16.         self.label = gtk.Label('Escolha o que comer:')
  17.        
  18.         self.op1 = gtk.RadioButton(label='Pipoca')
  19.         self.op1.connect('released', self.on_radio_released)
  20.         self.op2 = gtk.RadioButton(self.op1, 'Batata Frita')
  21.         self.op2.connect('released', self.on_radio_released)
  22.         self.op3 = gtk.RadioButton(self.op1, 'Sanduiche')
  23.         self.op3.connect('released', self.on_radio_released)
  24.  
  25.         self.button = gtk.Button('Pronto!')
  26.         self.button.connect('clicked', self.on_enter_button)
  27.  
  28.         self.vbox.pack_start(self.label)
  29.         self.vbox.pack_start(self.op1)
  30.         self.vbox.pack_start(self.op2)
  31.         self.vbox.pack_start(self.op3)
  32.         self.vbox.pack_start(self.button)
  33.  
  34.         self.active_radio = None
  35.  
  36.         self.w.add(self.vbox)
  37.  
  38.         self.w.show_all()
  39.  
  40.     def on_radio_released(self, widget):
  41.         print widget.get_label(), 'selecionada.'
  42.         print 'Ativos:'
  43.         print 'self.op1:', self.op1.get_active()
  44.         print 'self.op2:', self.op2.get_active()
  45.         print 'self.op3:', self.op3.get_active()
  46.  
  47.     def on_enter_button(self, widget):
  48.         label_str = ''
  49.         if self.op1.get_active():
  50.             label_str = self.op1.get_label()
  51.         elif self.op2.get_active():
  52.             label_str = self.op2.get_label()
  53.         elif self.op3.get_active():
  54.             label_str = self.op3.get_label()
  55.         else:
  56.             label_str = 'Nada ainda!'
  57.  
  58.         print 'Comendo:', label_str
  59.  
  60.     def on_application_quit(self, widget):
  61.         gtk.main_quit()
  62.         return False
  63.  
  64. Application()
  65. gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement