Problema com o atributo 'insert_at_cursor'

0

Eu fiz algo, então depois de clicar em um botão, algum texto deve aparecer no TextView . Parte do meu código:

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

Infelizmente, quando clico no botão, obtenho:

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

De acordo com a documentação da GTK, existe tal atributo: link

Eu também tenho o mesmo problema com Entry , se eu alterar TextView para Entry . Mas se eu usar set_text em vez de insert_at_cursor no meu código, isso funciona.

    
por mivoligo 29.06.2012 / 12:52

1 resposta

2

O método que você está procurando não está no TextView, mas no TextBuffer. Então você precisa fazer:

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

O link da documentação que você deu não aponta para um método, mas para um sinal. Sinais não podem ser chamados diretamente.

    
por Marcelo Hashimoto 29.06.2012 / 16:37