我正在使用PyGtk 2.0。在我的程序中,我创建了一个包含Combobox的对话框。该对话框没有OK或Cancel按钮。当组合框中的项目被选中时,对话框必须关闭(意味着在onchange
事件中)。但是我不能在没有手动关闭操作的情况下销毁对话框。如何关闭组合框事件更改时的GTK对话?
我的相关代码:
def mostrar_combobox(self, titulo, texto_etiqueta, lista):
"""
MÃ © All to show a combobox on screen and get the option chosen
"""
#print texto_etiqueta
#dialogo = gtk.Dialog(titulo, None, 0, (gtk.STOCK_OK, gtk.RESPONSE_OK, gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
dialogo = gtk.Dialog(titulo, None, gtk.DIALOG_MODAL, None)
etiqueta = gtk.Label(texto_etiqueta)
etiqueta.show()
dialogo.vbox.pack_start(etiqueta)
combobox = gtk.combo_box_new_text()
for x in lista:
combobox.append_text(x)
combobox.connect('changed', self.changed_cb)
#combobox.set_active(0)
combobox.show()
dialogo.vbox.pack_start(combobox, False)
response = dialogo.run()
elemento_activo = combobox.get_active()
return elemento_activo
dialogo.hide()
def changed_cb(self, combobox):
index = combobox.get_active()
if index > -1:
print index
请告知如何能onchange
后关闭的。
我在这里发表的示例代码:http://pastie.org/10748579
但我主要的应用程序我无法重现相同。
ANES,我注意到,有5年多问题,你还没有接受任何答案。我希望你知道,作为提问者,你有选择权(和责任)来标记解决你的问题的答案。您可以通过点击每个答案左侧的刻度线来做到这一点,这样做会为您和提问者都赢得声誉。提升和接受答案是你可以感谢那些帮助你的人(提出好的答案,并接受解决你的问题的答案)的方式。 –