Glade

2010-06-29 13 views
5

kullanarak Gtk ağaç görünümünde düzenlenebilir hücrelerle sütun oluşturma Sütunların x ve y koordinatlarını içeren basit bir GUI oluşturmaya çalışıyorum. Treeview kullanıyorum ve tablonun hücrelerinin kullanıcı tarafından düzenlenebilir olmasını istiyorum. Hücrelerin selüloz özelliklerinde doğrudan Glade'de düzenlenebilir mi yoksa kodumda belirtmek zorunda mı olduğunu belirtmek mümkün mü? Glade 3.6.1Glade

Kullanıyorum Ağaç görünümü düzenlerken Ağaç Görünümü Düzenleyicisi'ndeki "Düzenlenebilir" kutucuğunun, hücrelerin düzenlenip düzenlenmeyeceğini belirtmemi sağladım, çünkü kutu küçültülmüşse Hücreler düzenlenebilir özelliği artık modele bağlı değil. Ancak programı çalıştırırsam, hücreler düzenlenebilir, ancak içinde yazdığım değer kaybolur. Bunu nasıl düzeltebilirim? Hücre neden içeride yazdığım değeri saklamıyor? herhangi bir ipucu da benzer sorunla ilgilenen herkes için

cevap

3

için

sayesinde bunu çözmüş - Bir hücre düzenlendiğinde her model uygun kayıt, değiştirilmesi Python örnek kod gerekir:

cell.connect("edited", self.text_edited, model, column) 

def text_edited(self, w, row, new_text, model, column) 
    model[row][column] = new_text 
+1

Kendi cevabınızı kabul edebilirsiniz! ;-) – ptomato

0

Sadece biraz farklı bir şey yapmak zorunda kaldım, ancak Ubuntu'nun Quickly geliştirme ortamını da kullanıyorum. Glade'e gitmem gerekti ve daha sonra değiştirilebilen bir "Evet/Hayır" düğmesi olan "Düzenlenebilir" kutusunun işaretini kaldırmam gerekiyordu. O zaman benim kodum şöyle:

#psuedo-code function definition 
cellcolumn_widget.connect("edited", self.function, list_or_treestore, columnnumber) 

#actual code, editing second column so column is passed as 1 
self.builder.get_object("cellrenderer_chapter").connect("edited", self.cell_edited, self.builder.get_object("liststore_chapters"),1) 

def cell_edited(self, widget, row, new_text, model, column): 
    model.set_value(model.get_iter(row),column,new_text)