Я работаю над графическим интерфейсом пользователя машины.Он использует комбинированные списки в окне, которое может быть перерисовано в любое время в основном потоке, вне основного цикла (используя функцию idle_add внутри gtk-lock).Это произойдет, когда на машине будет нажата определенная кнопка - настоящая, а не виджет.Если это происходит, когда выпадающий список открыт, я получаю Gtk-Warning: утверждение «WIDGET REALIZED FOR EVENT» не выполнено и моя программа зависает.
Я пытался добавить код:
combo.set_active(-1)
while gtk.events_pending():
gtk.main_iteration()
, но это не решило проблему.
Я искал такие функции, как combo.is_open () илиcombo.close () но они, кажется, не существуют.Сигналы, относящиеся к комбо, являются «измененными», «активными», «всплывающими» и «всплывающими», но первый отправляется только тогда, когда в комбо выбран текст, а остальные являются связующими сигналами.
Есть ли способ проверить, открыта ли комбинация (была выбрана)?