Python PyGTK-CellRenderCombo不包含新选择的值
我试图制作一个简单的列表存储程序,其中一个值(列)位于给定的行中,可以通过下拉选择进行更改。我已经将下拉列表添加到行中,但是,我无法将新值作为活动值提交到列中 使用上的PyGtk教程,我看到他们使用Python PyGTK-CellRenderCombo不包含新选择的值,python,user-interface,pygtk,gtk3,Python,User Interface,Pygtk,Gtk3,我试图制作一个简单的列表存储程序,其中一个值(列)位于给定的行中,可以通过下拉选择进行更改。我已经将下拉列表添加到行中,但是,我无法将新值作为活动值提交到列中 使用上的PyGtk教程,我看到他们使用 def __init__ renderer_combo = Gtk.CellRendererCombo() renderer_combo.set_property("editable", True) renderer_combo.set_property("model", l
def __init__
renderer_combo = Gtk.CellRendererCombo()
renderer_combo.set_property("editable", True)
renderer_combo.set_property("model", liststore_manufacturers)
renderer_combo.set_property("text-column", 0)
renderer_combo.set_property("has-entry", False)
renderer_combo.connect("edited", self.on_combo_changed)
...
def on_combo_changed(self, widget, path, text):
self.liststore_hardware[path][1] = text
将这段代码复制到我的解释器中,并查看一个可以成功更改ComboBox值的程序后,我尝试复制他们的方法。这促使我创建了以下内容:
def __init__
...
self.col_priorityrenderer = Gtk.CellRendererCombo()
self.col_priorityrenderer.set_property("editable", True)
self.col_priorityrenderer.set_property("model", liststore_manufacturers)
self.col_priorityrenderer.set_property("text-column", 0)
self.col_priorityrenderer.set_property("has-entry", False)
self.col_priorityrenderer.connect("edited", self.on_combo_changed)
priorityCombo = Gtk.ListStore(str)
priorityCombo.append(["Top"])
priorityCombo.append(["High"])
priorityCombo.append(["Medium"])
priorityCombo.append(["Low"])
self.col_priority_renderer.set_property("model", priorityCombo)
def on_combo_changed(self, widget, path, text):
model = widget.get_property("model")
model[path][1] = text
使用此代码,我得到错误:
IndexError: column index is out of bounds: 1
我已将1更改为0,没有收到该错误,但也没有更改活动项。我已经试了大约三天了,想弄明白如何让它正常工作,但都没有用。在这种情况下,为什么索引1超出范围