GTK3 – IconView

1

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()

iv

Advertisements
Post a comment or leave a trackback: Trackback URL.

Commenti

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...

%d blogger hanno fatto clic su Mi Piace per questo: