George Schneeloch wrote:
Hey everybody. Basically my issue is that I have a TextView created in
glade, but the text in the TextBuffer of that textview doesn't change
when I enter something in the textbox. If it starts off blank, all
get_text(* textbuffer.get_bounds()) calls get an empty string, even if
I have typed something there. If I enter a default value in Glade, or
if I call textbuffer.set_text() beforehand, the get_text call returns
that text no matter what changes I make to the actual textbox. Any
ideas what I'm doing wrong?
-George Schneeloch
Here's my code:
import pygtk
pygtk.require('2.0')
import gtk
import gtk.glade
import callbacks
#Callbacks = callbacks.Callbacks
class Callbacks:
def on_window_delete_event(widget, event, data=None):
return False
def on_button_highlight_clicked(widget, data=None):
glade_file = "main_window.glade"
glade_xml_tree = gtk.glade.XML(glade_file, "window")
You are creating a new widget tree each time you call gtk.glade.XML in
your button "clicked" callback.
A possible solution is to set "textview_code" as the Object in your
button signal properties - this has the effect of calling
on_button_highlight_clicked with the TextView as the first argument
allowing your signal handler to be coded like:
def on_button_highlight_clicked(textview, data=None):
textbuffer = textview.get_buffer()
text = textbuffer.get_text(*textbuffer.get_bounds())
print text
textbuffer.set_text ("next run")
John
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/