У меня есть простая функция обратного вызова, которая переключает метку кнопки PyGTK:
def langSelectHandler(self, widget, callback_data=None):
if self.lang == "fr":
self.lang = "de"
print "changed to de"
widget.set_label("Deutsch")
else:
self.lang = "fr"
print "changed to fr"
widget.set_label("Français")
Кнопка подключена так:
self.langSelect.connect("clicked", self.langSelectHandler)
(я проверил дубликатвызов с использованием случайных чисел, сгенерированных при каждом вызове, они были разными) Моя проблема в том, что обратный вызов выполняется дважды, и поэтому переключается обратно на свое старое значение, поэтому никаких изменений не видно.Почему, черт возьми, такой случай и как это можно предотвратить?
Спасибо, Джулиан