Почему обратный вызов pygtk для нажатой ToolButton выполняется дважды при нажатии один раз - PullRequest
1 голос
/ 11 июля 2011

У меня есть простая функция обратного вызова, которая переключает метку кнопки 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)

(я проверил дубликатвызов с использованием случайных чисел, сгенерированных при каждом вызове, они были разными) Моя проблема в том, что обратный вызов выполняется дважды, и поэтому переключается обратно на свое старое значение, поэтому никаких изменений не видно.Почему, черт возьми, такой случай и как это можно предотвратить?

Спасибо, Джулиан

1 Ответ

1 голос
/ 17 октября 2011

, как указано в моем комментарии (см. 2-ую запись под постом), я установил соединение через код, а также через поляну, которая привела к 2 вызовам.Если вы столкнулись с подобной или такой же проблемой, просто проверьте это.

...