[PyGTK] Preguntas sobre TextView

Arnau Sanchez arnau en ehas.org
Sab Nov 18 21:52:08 CET 2006


Jesus Rodriguez escribió:

> Estoy haciendo un pequeño programa con un par de textview independientes
> entre si.
> 
> La cosa es que leyendo el tutorial, me habla sobre buffer, textiter, mark,
> tablas, tag.... Muuuchas cosas.
> 
> Me gustaría saber si conoceis un tuto de textview menos serio que el
> oficial, ya que el oficial esta explicado de una forma un poco formal y me
> gustaria algo mas en plan informal y que sea mas entendible.

PyGTK/GTK+ es una librería muy potente y versátil, pero eso no es gratis, 
trabajar con ella puede llegar a ser complejo (caso típico: las tablas). Y 
efectivamente, todo lo relacionado con los TextView también tiene sus sutilezas. 
Pero no acabo de entender eso de que el tutorial es "demasiado formal"; yo lo 
encuentro bastante bueno, tiene muchos ejemplos, y además está traducido al 
castellano, mucho más no se puede pedir...

¿Le has echado un vistazo al ejemplo que viene con el tutorial?

http://www.pygtk.org/pygtk2tutorial-es/sec-TextViews.html#textviewbasicfig

un ejemplo más simple que ése imposible, es muy didáctico.

> Uno de las cosas que quiero hacer es que cuando modifique el texto, 
> aparezca
> un asterisco tipico para saber que un texto ha sido modificado y asi poder
> lanzar una ventana diciendo que el texto ha sido modificado y que si quiero
> guardar :P.

Es sencillo, simplemente conecta la señal "changed" al buffer:

textbuffer.connect("changed", self.on_textbuffer_changed)

con este callback:

   def on_textbuffer_changed(self, widget):
         print "changed:", widget

Para hacerlo "bien" tendrías que controlar que al hacer un "deshacer" no se 
vuelva al estado grabado (esto si es quieres implementar la función deshacer, 
que no es trivial)

> Por otro lado, conoceis algun editor en python? un editor de texto simple
> que use textview y la caracteristica esta ultima, es para mirar el codigo.
> SPE es python, pero es demasiado complejo y no encuentro lo que quiero, 
> algo
> siiiimple :P

Cualquier editor que encuentres por ahí, si hace algo mínimamente útil, te será 
difícil de analizar por su longitud y complejidad. Te recomendaría ceñirte al 
tutorial, y después ver cómo lo usa la gente en programas de verdad:

http://www.google.com/codesearch?q=lang%3Apython+textview&btnG=Search+Code

arnau




Más información sobre la lista de distribución Python-es