комбинированный ящик pygtk «изменен» не работает - PullRequest
0 голосов
/ 07 мая 2010

Я использую pygtk, затем я использовал gtk.Combobox, когда я пытаюсь подключиться к событию chenged, которое работает, но когда я пытаюсь выбрать элемент, который уже выбран, измененный метод не срабатывает, так как выбор не изменился ..

поэтому у меня вопрос, как связать измененное событие, даже если выбор не изменился tnx заранее

1 Ответ

1 голос
/ 07 мая 2010

Хорошо ... Измененное событие означает только то, что оно называется, что выбор изменился.

Я предлагаю попробовать прослушать сигнал <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%, что тире отображается в подчеркивании; вам придется проверить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...