Хорошо ... Измененное событие означает только то, что оно называется, что выбор изменился.
Я предлагаю попробовать прослушать сигнал <a href="http://library.gnome.org/devel/gtk/stable/GtkComboBox.html#GtkComboBox-popdown" rel="nofollow noreferrer">popdown</a>
, который, как мне кажется, излучается при закрытии меню.
Если это не сработает, возможно, сработает notify :: popup-show. ComboBox имеет свойство под названием <a href="http://library.gnome.org/devel/gtk/stable/GtkComboBox.html#GtkComboBox--popup-shown" rel="nofollow noreferrer">popup-shown</a>
, поэтому прослушивание уведомлений об изменении этого свойства и проверка того, является ли это переходом от TRUE
к FALSE
, должно помочь:
combo.connect("notify::popup-shown", popup_shown_callback)
В обратном вызове вы можете получить доступ к значению свойства следующим образом (при условии PyGTK 2.8 или более поздней версии):
print "mycombo's popup-shown property is:", mycombo.props.popup_shown
Я не уверен на 100%, что тире отображается в подчеркивании; вам придется проверить это.