Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2013, 14:30
carlosarmikhael
 
Fecha de Ingreso: septiembre-2012
Mensajes: 53
Antigüedad: 12 años, 2 meses
Puntos: 0
gtk.combo_box_new_text()

Buenas tengo un problema con no con el gtk.combo sino con lo que quiero que haga...

Tengo el combo que en una dirección busca unas carpetas.. luego en esas carpetas hay unas imágenes con el nombre background.png. . . yo quiero que cuando en el combo seleccione una de las imagenes el la coloque abajo en la ventana de python. . .

lo hago de esta forma pero no me resulta si me pueden ayudar... gracias

Código Python:
Ver original
  1. import pygtk
  2. pygtk.require('2.0')
  3. import gtk, gobject
  4. import gobject
  5. import os
  6.  
  7. class Prueba:
  8.        
  9.     def __init__(self):
  10.         self.window = gtk.Window()
  11.         self.window.set_resizable(True)
  12.         self.window.set_title("Temas")
  13.         self.window.set_position(gtk.WIN_POS_CENTER)
  14.         self.window.set_border_width(0)
  15.         self.window.set_size_request(550, 600)
  16.        
  17.         self.fixed = gtk.Fixed()
  18.        
  19.         text = next(os.walk("/ruta/"))[1]
  20.         global combox_themas
  21.         combox_themas = gtk.combo_box_new_text()
  22.         combox_themas.set_size_request(180, 35)
  23.         for t in text: 
  24.             combox_themas.append_text(t)
  25.        
  26.         self.fixed.put(combox_themas, 320, 80)
  27.         combox_themas.show()
  28.        
  29.         if combox_themas.get_active_text():
  30.             self.image_theme = gtk.image_new_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size('/ruta/'+combox_themas.get_active_text()+'/background.png', 417, 270))
  31.             self.fixed.put(self.image_theme, 71, 163)
  32.             self.image_theme.show()
  33.        
  34.         self.window.add(self.fixed)
  35.         self.window.show_all()
  36.         self.window.show()
  37.        
  38. def main():
  39.     gtk.main()
  40.     return 0
  41.  
  42. if __name__ == "__main__":
  43.     Prueba()
  44.     main()

si le quito el if combox_themas.get_active_text(): y lo coloco de esta forma la ruta a una imagen el si lo coloca la imagen dentro de la venta, pero necesito que sea con el combo si alguien sabe una forma muchas gracias. .

Código Python:
Ver original
  1. self.image_theme = gtk.image_new_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size('/ruta/background.png', 417, 270))
  2. self.fixed.put(self.image_theme, 71, 163)
  3. self.image_theme.show()