0
我使用由ListStore支持的PyGTK 2.0的TreeView创建可选项目表。我需要通过单击该行的任何位置来选择和取消选择单个行。点击一行应该只为该行切换高亮和一个复选框的值。每次点击切换TreeView行选择
我已经为复选框创建了具有多个选择和列的TreeView,但是我无法在没有保存控件的情况下在单个行上切换选择。我试图将一个选择功能连接到视图,以便将至少切换复选框,但功能不工作as described in the tutorial:
self.dataview = gtk.TreeView(store)
self.dataview.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
self.dataview.get_selection().set_select_function(self.on_row_selected, None)
def on_row_selected(self, selection, model, path, is_selected, data):
print selection
print model
print path
print is_selected
print data
model.set_value(path, 0, is_selected)
触发select函数产生一个错误:
TypeError: on_row_selected() takes exactly 6 arguments (3 given)
用*args
代替函数参数表明只提供了path
和data
。
另外的set_select_function
的行为,什么是切换到单次点击行选择最好的方法,以及如何同步,随着我的数据模型中的列?