我使用下面的命令来删除一个ComboBox项目,使用Ctrl-X。这几乎可以工作,但当最后一个条目被删除时,它仍然可见,直到我发出额外的Ctrl-X。
def on_key(self, widget, event, combo):
if event.state & Gdk.ModifierType.CONTROL_MASK and event.keyval == 120:
tree_iter = combo.get_active_iter()
if tree_iter is None:
combo.grab_focus()
self.hist_store.append([0, ""])
self.hist_combo.set_active(0)
return
else:
self.hist_store.remove(tree_iter)
self.hist_combo.set_active(0)
return
1条答案
按热度按时间wdebmtf21#
我找不到一种方法来动态更新ComboBox中显示的文本。我的解决方案是一个组装;在列表存储中始终保持一个空行,如果所有元素都已删除,则使其处于活动状态。将历史记录写入文件时,忽略空行。如果有人有更好的解决方案,请提交。