Python - Gtk.TreeView与复选框
我需要在Gtk TreeView中存储一些项目,当用户与这个TreeView互动时,可以选择列表中的一个或多个项目。
因为我刚接触GTK,所以我成功地填充了TreeView,并显示了一个复选框,代码如下所示。但当我尝试选择时,什么也没有发生,我不知道该怎么做才能实现这个功能。
这是我的代码:
# the column is created
renderer_products = gtk.CellRendererText()
column_products = gtk.TreeViewColumn("Products", renderer_products, text=0)
# and it is appended to the treeview
view.append_column(column_products)
# the column checkbox is created
renderer_checkbox = gtk.CellRendererToggle()
column_checkbox = gtk.TreeViewColumn("Selected", renderer_checkbox, text=0)
# and it is appended to the treeview
view.append_column(column_checkbox)
1 个回答
1
如果你想选择整行并让某些事情发生:
#double click or not double click use Gtk.TreeView.set_activate_on_single_click (bool) #connect the treeview treeview.connect ("row-activated", on_row_activate) #inside the callback def on_row_activate (treeview, path, column): model = treeview.get_model () iter = treeview.get_iter (path) yourdata = model[iter][model_index] #do whatever with yourdata
如果你想在点击切换按钮时让某些事情发生:
#connect the renderer renderer_checkbox.connect ("toggled", on_selected_toggled) #inside the callback def on_selected_toggled (renderer, path): #modify the model or get the value or whatever