2
我正在使用帶複選框的樹形視圖。我希望用戶能夠點擊複選框,並將該項目添加到收藏夾列表中。但是目前我無法讓這些框切換。這是我的代碼:獲取複選框在GtkTreeView中切換
def draw_columns(self,treeview):
self.ren = gtk.CellRendererToggle()
self.ren.connect('toggled',self.on_toggle,treeview.get_model())
self.tvfav = gtk.TreeViewColumn('Fav',self.ren,text=7)
for i in [self.tvfav,'andall the other columns']:
treeview.append_column(i)
def on_toggle(self,cell,path_str,model):
toggle_item = model.get_value(iter,column)
toggle_item = not toggle_item
# This method didn't work either
## model[path_str][1] = not model[path_str][1]
if toggle_item:
#Add it to the favourite list if it isn't already
pass
else:
#remove it from the favourite list
pass
model.set(iter,column,toggle_item)
def __init__(self):'
....
self.liststore = gtk.ListStore(str,int, int, int,str, 'gboolean', str)
self.treeview = gtk.TreeView(self.liststore)
....
我在做什麼錯誤,該框無法檢查?此外,我將如何設置切換時,項目被附加到TreeView是這樣的:
if name in favourites:
#Append to list with checkbox on
self.liststore.append([name,x,y,z,ss,True,sss])
新增工作示例。 – XORcist 2011-04-19 13:20:07
我仍然無法獲得切換切換,這裏是代碼:https://github.com/JonnoFTW/5-of-Diamonds/blob/master/AoS-ServerBrowser.py,特別是在293,308, 353,356與self.treeview.connect(「button_press_event」,self.serverListEvent)。可以樹視圖和它的列沒有不同的處理程序? – 2011-04-19 13:53:46
想通了,它是樹視圖的處理程序和列之間的衝突。我只是將切換的東西移動到另一個偵聽器中。 – 2011-04-19 15:07:40