gtk有问题。CellRendererCombo和TreeStore

你好我有三列,第一列是文本,第二列是复选按钮,最后一列是组合框。有人能告诉我如何只使用添加到子列表中的数据来填充组合框吗?以下是我迄今为止的代码:

选择 | 换行 | 行号
  1.     treestore = gtk.TreeStore(str, bool)
  2.     for imol in molecule_number_list():
  3.         mol_name = molecule_name(imol)
  4.         piter = treestore.append(None, [mol_name, True])
  5.         for chain in chain_ids(imol):
  6.             treestore.append(piter, [chain, True])
  7.  
  8.     treeview = gtk.TreeView(treestore)
  9.     column_text = gtk.TreeViewColumn("Text")
  10.     column_toggle = gtk.TreeViewColumn("Toggle")
  11.     column_combo = gtk.TreeViewColumn("Combo")
  12.     treeview.append_column(column_text)
  13.     treeview.append_column(column_toggle)
  14.     treeview.append_column(column_combo)
  15.  
  16.     cellrenderer_text = gtk.CellRendererText()
  17.     column_text.pack_start(cellrenderer_text, False)
  18.     column_text.add_attribute(cellrenderer_text, "text", 0)
  19.  
  20.     cellrenderer_toggle = gtk.CellRendererToggle()
  21.     column_toggle.pack_start(cellrenderer_toggle, True)
  22.     column_toggle.add_attribute(cellrenderer_toggle, "active", 1)
  23.  
  24.     cellrenderer_combo = gtk.CellRendererCombo()
  25.     cellrenderer_combo.set_property("editable", True)
  26.     cellrenderer_combo.set_property("model", treestore)
  27.     cellrenderer_combo.set_property("text-column", 0)
  28.     column_combo.pack_start(cellrenderer_combo, False)
  29.     column_combo.add_attribute(cellrenderer_combo, "text", 2)
  30.  
  31.     window.connect("destroy", lambda w: gtk.main_quit())
  32.     cellrenderer_toggle.connect("toggled", cell_toggled, treestore)
  33.  

标签: python

添加新评论