0

I made something, so after clicking a button, some text should appear in the TextView. Part of my code:

def on_button1_clicked(self, builer):
        self.writetest = self.builder.get_object("textview1")
        self.writetest.insert_at_cursor("something")

Unfortunately, when I click the button I get:

AttributeError: 'TextView' object has no attribute 'insert_at_cursor'

According to GTK Documentation there is such attribute: http://developer.gnome.org/gtk3/stable/GtkTextView.html#GtkTextView-insert-at-cursor

I have the same problem with Entry as well, if I change TextView to Entry. But if I use set_text instead of insert_at_cursor in my code, it works.

1 Answer 1

2

The method you are looking for is not on TextView, but on TextBuffer. So you need to do:

buffer = self.writetest.get_buffer()
buffer.insert_at_cursor('Hello World!')

The documentation link you gave does not point to a method, but rather to a signal. Signals cannot be directly called.

1
  • Thanks for the answer! I thought signals could be used as methods.
    – mivoligo
    Jun 29, 2012 at 18:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .