기본적으로 GtkTreeView를 사용하고 "모델"속성을 데이터가 포함 된 GtkListStore로 설정해야합니다. GtkTreeView는 GtkTreeSelection 클래스를 사용하여 선택을 관리합니다. GtkTreeSelection을 얻으려면 gtk_tree_view_get_selection (또는 ruby-gtk에서 매핑 된 것)을 사용하십시오. 그리고 선택 모드를 "multiple"로 설정하십시오.
다음은 Python의 예입니다. Ruby/Gtk에서는 비슷해야합니다.
import pygtk
pygtk.require('2.0')
import gtk
import gobject
w = gtk.Window()
w.connect('destroy', lambda w:gtk.main_quit())
l = gtk.ListStore(gobject.TYPE_STRING)
l.append(('Vinz',))
l.append(('Jhen',))
l.append(('Chris',))
l.append(('Shynne',))
treeview = gtk.TreeView()
treeview.set_model(l)
column = gtk.TreeViewColumn()
cell = gtk.CellRendererText()
column.pack_start(cell)
column.add_attribute(cell,'text',0)
treeview.append_column(column)
treeview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
def print_selected(treeselection):
(model,pathlist)=treeselection.get_selected_rows()
print pathlist
treeview.get_selection().connect('changed',lambda s: print_selected(s))
w.add(treeview)
w.show_all()
gtk.main()
너무 감사합니다! 나는 이것을 루비 버전으로 변환하려고 노력 중이다. 잘하면 그것을 작동시킬 수있다! –