У меня есть три PyGTK SpinButton, которые взаимно зависят друг от друга: назовите их A, B и C. Есть еще одна кнопка D, которая переключается между двумя взаимными определениями C, так что значение C определяется как A / B, если D не был нажат нечетное количество раз.
Я хочу иметь возможность, например, изменить A и сразу обновить B или C в соответствии с этим отношением. Я также хочу иметь возможность изменить B и немедленно обновить A или C. То же самое относится и к C. Я решил, что когда один из них был изменен, SpinButton, который был изменен не так давно, должен быть обновлен, и что если SpinButton не были изменены с момента запуска программы, следует предположить, что C был изменен совсем недавно.
Все вышеперечисленное было реализовано. Мое приложение прослушивает сигналы с измененными значениями для каждого из SpinButton, выполняет вышеуказанные вычисления, а затем обновляет значение двух других, как описано. Однако приложение подхватывает свои изменения и реагирует на них. Когда я меняю A, моя программа меняет B, что обрабатывается изменением C и так далее. Я тоже пробовал сигнал изменения значения, но он не реагирует на изменения в SpinButton.
Как мне прослушать изменение значения SpinButton таким образом, чтобы это не вызывалось самой программой?