Se vi è capitato di imbattervi nel problema di dover inserire una immagine o qualsiasi altro widget in una TextView e non sapete come fare, di seguito vi proporrò una soluzione. Il principio è semplice:
- troviamo il punto in cui vogliamo inserire il widget e creiamo un TextIter
- creiamo un' ancora al punto in cui si trova l'iter
- ancoriamo il widget
import gtk
tv = gtk.TextView()
buf = tv.get_buffer()
iter = buf.get_end_iter()
anchor = buf.create_child_anchor(iter)
img = gtk.Image()
# sostituire con un path ad un file immagine
# esistente
img.set_from_file("path_del_file")
img.show()
tv.add_child_at_anchor(img, anchor)
tv.show()
sw = gtk.ScrolledWindow()
sw.add(tv)
sw.show()
frame = gtk.Frame()
frame.show()
frame.add(sw)
w = gtk.Window()
w.add(frame)
w.set_default_size(400, 300)
w.show_all()
w.connect("destroy", lambda w: gtk.main_quit())
gtk.main()
La cosa interessante è che in questo caso abbiamo usato una immagine, ma avremmo potuto "caricare" nella text view ad esempio un pulsante o un altro widget
Nessun commento:
Posta un commento