체크 박스가있는 트리보기를 사용하고 있습니다. 사용자가 확인란을 클릭하여 해당 항목을 즐겨 찾기 목록에 추가하려고합니다. 하지만 현재는 상자를 전혀 전환 할 수 없습니다. 내 코드는 다음과 같습니다.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)
....
상자를 검사 할 수없는 것은 무엇입니까?
if name in favourites:
#Append to list with checkbox on
self.liststore.append([name,x,y,z,ss,True,sss])
추가 작업 예제. – XORcist
나는 토글을 토글 할 수 없다. 코드는 다음과 같다 : https://github.com/JonnoFTW/5-of-Diamonds/blob/master/AoS-ServerBrowser.py, 특히 293, 308, 353, 356 with self.treeview.connect ("button_press_event", self.serverListEvent). 트리 뷰와 열에 다른 핸들러가 없습니까? –
트리뷰 (treeview)와 컬럼 (column)에 대한 핸들러 사이의 충돌이라고 생각했습니다. 방금 토글 내용을 다른 청취자 내부로 옮겼습니다. –