我正在使用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年多問題,你還沒有接受任何答案。我希望你知道,作爲提問者,你有選擇權(和責任)來標記解決你的問題的答案。您可以通過點擊每個答案左側的刻度線來做到這一點,這樣做會爲您和提問者都贏得聲譽。提升和接受答案是你可以感謝那些幫助你的人(提出好的答案,並接受解決你的問題的答案)的方式。 –