Scrivere un testo in una TextView

Scrivere in una TextViewLe TextView possono contenere una certa quantità di testo, vediamo brevemente come poter scrivere al loro interno un certo testo.

Per questo esempietto disegneremo un’interfaccia composta unicamente da un controllo TextView di nome txvTesto e un pulsante di nome btnScrivi, separati da loro da una casella verticale necessaria al packing. Al segnale clicked del pulsante sarà assegnata la funzione predefinita on_btnScrivi_clicked.

Il progetto, molto sintetico presenta subito la funzionalità della funzione on_btnScrivi_clicked:

import gtk
import gtk.glade
import pygtk
pygtk.require("2.0")

gladeFile = gtk.glade.XML('textview-1.glade')
window1 = gladeFile.get_widget('window1')
txvTesto = gladeFile.get_widget('txvTesto')

def on_btnScrivi_clicked(widget, data=None):
  buffer = txvTesto.get_buffer()
  buffer.set_text('Scriviamo qualcosa all\'interno della TextView')

Il metodo get_buffer recupera il TextBuffer del controllo txvTesto, l’oggetto che si occuperà della memorizzazione dei dati nella TextView. Ottenuto il buffer, basterà richiamare il metodo set_text di quest’ultimo per assegnare una stringa di testo all’interno del buffer, eliminando totalmente il precedente contenuto.

In questo esempio all’interno del buffer della TextView verrà inserito “Scriviamo qualcosa all’interno della TextView“.

Il resto del codice è la normale gestione dei segnali e l’avvio del  programma Gtk:

def on_window1_destroy(widget, data=None):
  gtk.main_quit()

segnali = {
  'on_window1_destroy': on_window1_destroy,
  'on_btnScrivi_clicked': on_btnScrivi_clicked
}
gladeFile.signal_autoconnect(segnali)

if window1:
  window1.show()
  gtk.main()

E’ possibile scaricare sia il progetto Glade che il sorgente Python.

About these ads

5 Responses to “Scrivere un testo in una TextView”


  1. 1 mika29 ottobre 26, 2009 alle 4:54 pm

    Puoi dirmi come posso fare a localizzare un programma?Per esempio ho provato a vedere gespeaker (tuo programma) ma non riesco a localizzarlo correttamente. Per esempio (anche su gespeaker) se modifico la traduzione di en_US non si vedono le modifiche sul programma (io uso en_US come lingua del sistema).

  2. 2 Muflone novembre 15, 2009 alle 3:55 pm

    ciao mika

    la traduzione basata su gettext utilizza un file .pot iniziale con tutti i testi da tradurre (non tradotti)

    dal file pot vengono generati i file .po da tradurre con:
    msginit --input=file.pot --output-file=en_US.po --locale=en_US
    questo comando generera` da file.pot il file en_US.po
    questo file .po andra` tradotto riga per riga, e` molto semplice, ovviamente soltanto le righe msgstr e non quelle msgid

    finita la traduzione del .po devi compilare il file in .mo con
    msgfmt --output-file=en_US.mo en_US.po

    dovrai poi dire all’applicazione dove si trova il file .mo attraverso l’indicazione del domain.

    i miei progetti sono tutti localizzati.

  3. 4 khela marzo 20, 2010 alle 1:35 am

    Salve, complimenti con le guide. Volevo farti una domanda. Se volessi creare un editor tipo gEdit, quindi colorazione della sintassi e cose varie, cosa mi consigli?

  4. 5 Muflone marzo 27, 2010 alle 3:45 pm

    per un editor di testo conviene usare i componenti scintilla o gtksourceview che forniscono gia` il sistema di evidenziare il codice.


Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




Indice degli argomenti


Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

%d blogger cliccano Mi Piace per questo: