GTK.IconView
è un widget che visualizza una grid di icone; permette il drag & drop, la selezione multipla e il riordino.
Oggetti IconView
Elenco solo quelli che mi sembrano sensati.
class Gtk.IconView
static new_with_area(area)
crea un Gtk.IconView
utilizzando area
per posizionare le celle.
static new_with_model(model)
crea un Gtk.IconView
utilizzando il modello model
.
set_model(model)
setta il modello model
; se un precedente modello esiste viene rimosso. Per rimuovere il vecchio modello settare model a None
.
get_model()
ritorna il modello corrente o None
.
set_text_column(column)
setta il testo column
, dev’essere di tipo str
.
get_text_column()
ritorna la colonna con testo o -1
se non c’è.
set_selection_mode(mode)
setta il Gtk.SelectionMode
.
get_selection_mode()
ritorna il Gtk.SelectionMode
.
set_item_orientation(orientation)
determina se il testo dev’essere a fianco o sotto l’icona.
get_item_orientation()
ritorna l’orientation della voce precedente.
set_columns(columns)
setta il numero di colonne; se -1
le icone vengono posizionate automaticamente per riempire l’area.
get_columns()
ritorna il valore della proprietà "columns"
.
set_item_width(item_width)
setta la larghezza da usarsi per ogni elemento; se -1
viene settato automaticamente.
get_item_width()
ritorna la proprietà "item-width"
.
set_spacing(spacing)
setta lo spazio tra le celle.
set_row_spacing(row_spacing)
setta lo spazio tra le righe.
get_row_spacing()
ritorna la proprietà "row-spacing"
.
set_column_spacing(column_spacing)
setta lo spazio tra le colonne.
get_column_spacing()
ritorna lo spazio tra le colonne.
E poi…
ci sono tantissimi metodi che non ha senso (secondo me) elencare, tanto non credo mi servano, anzi non credo mi serva tutto l’IconView
.
Comunque si trova tutto qui.
#!/usr/bin/python3 # iv.py from gi.repository import Gtk from gi.repository.GdkPixbuf import Pixbuf icons = ["gtk-cut", "gtk-paste", "gtk-copy"] labels = ["gtk-cut", "gtk-paste", "gtk-copy"] class IconViewWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self) self.set_default_size(80, 200) liststore = Gtk.ListStore(Pixbuf, str) iconview = Gtk.IconView.new() iconview.set_model(liststore) iconview.set_pixbuf_column(0) iconview.set_text_column(1) n = -1 for icon in icons: pixbuf = Gtk.IconTheme.get_default().load_icon(icon, 64, 0) n += 1 liststore.append([pixbuf, labels[n]]) self.add(iconview) win = IconViewWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main()
Commenti
ottimi articoli come sempre, avanti così! 😀