Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2011, 09:37
Avatar de PyLau
PyLau
 
Fecha de Ingreso: octubre-2011
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 1
Como obtener el texto de gtk Buffer



Holaaa!
Me han ayudado mucho por este medio y vengo con otra pregunta sobre Python y GTK2.
Estoy tratando de entender el funcionamiento de los Buffer pero lo veo muy complicado para mi que soy novata. Encontre este ejemplo en este foro pero no lo pude adaptar a mi programa...

[URL="http://www.forosdelweb.com/f130/gtk-text-buffer-gtk-textiter-895839/"]http://www.forosdelweb.com/f130/gtk-text-buffer-gtk-textiter-895839/[/URL]

Necesito agarrar el texto de un gtk.TextView y este lo introduzca en un comando del shell

Aqui les pongo mi codigo! Espero que me puedan orientar

Agradezco mucho la ayuda


Código Python:
Ver original
  1. #-*- coding: UTF-8 -*-
  2.  
  3. import pygtk
  4. pygtk.require('2.0')
  5. import gtk
  6. import os
  7.  
  8.  
  9. textbuffer = 0
  10.  
  11. class PruebaBuffer:
  12.    
  13.     def __init__(self):
  14.  
  15.         def ejecutar(self, widget, data=None):            
  16.             comando = os.system('comando --mensaje="'+textbuffer+'"')
  17.        
  18.        
  19.         window = gtk.Window()
  20.         window.connect('destroy', lambda w: gtk.main_quit())
  21.         window.set_size_request(500,400)
  22.         tablec = gtk.Table(10,10,False)
  23.        
  24.  
  25.         #-------------------Buffer------------------#
  26.         #definimos el scroll
  27.         scrolledwindow = gtk.ScrolledWindow()
  28.         scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
  29.  
  30.         #Marco del cuadro de mensaje
  31.         marco = gtk.Frame("Mensaje")
  32.        
  33.         #Alineacion del cuadro del cuadro del mensaje
  34.         alineacion = gtk.Alignment(xalign=0.5, yalign=1.0, xscale=1.0, yscale=1.0)
  35.  
  36.         #text view
  37.         textview = gtk.TextView()
  38.         global textbuffer_emp
  39.         textbuffer = textview.get_buffer()
  40.         start, end = textbuffer.get_bounds()
  41.         print textbuffer
  42.            
  43.         scrolledwindow.add(textview)
  44.         alineacion.add(scrolledwindow)
  45.         marco.add(alineacion)
  46.         marco.show()
  47.         textview.show()
  48.         scrolledwindow.show()
  49.         alineacion.show()
  50.  
  51.         tablec.attach(marco, 0,4,0,9)
  52.         tablec.attach(textview, 0,4,0,9)
  53.         tablec.attach(scrolledwindow, 0,4,0,9)
  54.  
  55.         button = gtk.Button("Aplicar")
  56.         button.connect("clicked", ejecutar, textbuffer)
  57.         button.show()
  58.         tablec.attach(button, 2,4,9,10)    
  59.  
  60.         tablec.show()
  61.        
  62.         window.add(tablec)
  63.         window.show_all()
  64.  
  65.        
  66. def main():
  67.     gtk.main()
  68.     return
  69.  
  70. if __name__ == "__main__":
  71.     PruebaBuffer = PruebaBuffer()
  72.     main()