我在pygtk中有以下代码:
....
rendererText = gtk.CellRendererText()
self.columns["hour"] = gtk.TreeViewColumn("Uur", rendererText, text=0)
self.columns["hour"].set_sort_column_id(0)
self.treeview.append_column(self.columns["hour"])
self.columnControls["ond"] = gtk.CellRendererToggle()
self.columns["ond"] = gtk.TreeViewColumn("ond", self.columnControls["ond"], active=1)
self.columns["ond"].set_sort_column_id(1)
self.treeview.append_column(self.columns["ond"])
....因此,我个人认为,如果我点击列中出现的复选框,条目将是"togglable",但事实并非如此。这是因为我的操作系统(Mac OS X 10.8),还是我忘记设置了某种属性?
发布于 2013-06-26 10:27:19
您必须将一个回调函数绑定到toggled信号,该函数可以反转GtkListStore/GtkTreeStore中的值。如下所示:
def on_cellrenderertoggle_toggled(self, cellrenderertoggle, path):
# self.liststore is the tree modal of that treeview
self.liststore[path][1] = not self.liststore[path][1]完整的教程可以在这里找到:http://python-gtk-3-tutorial.readthedocs.org/en/latest/cellrenderers.html#cellrenderertoggle
https://stackoverflow.com/questions/17305977
复制相似问题