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
的行爲,什麼是切換到單次點擊行選擇最好的方法,以及如何同步,隨着我的數據模型中的列?