У меня есть четыре графика на отдельных вкладках.На каждой вкладке есть набор ползунков, и каждый набор ползунков синхронизируется.Например, если начальный слайдер на одной вкладке изменяется, то все стартовые слайдеры (для всех вкладок) устанавливаются с помощью этой функции обратного вызова:
def update_start(self, attr, old, new):
print("Update Start")
self.graph_start_time = new
for ctrl in self.control_set:
ctrl.start_slider.value = new
self.update_source()
Для набора из четырех стартовых слайдеров я вижучто оператор print выполняется ПЯТЬ раз.
Я хотел бы сначала отключить каждый обратный вызов в цикле for, а затем повторно включить его по завершении каждой итерации цикла for, но я не знаю, как.
Еще одна вещь, которую я не понимаю, - почему это не работает как бесконечный рекурсивный цикл.Я предполагаю, что первая печать - из начального обратного вызова, а следующие четыре - из цикла for, помещающего в очередь обратный вызов на каждой итерации.Если это так, то каждая очередь обратного вызова должна снова встретиться с циклом for, до бесконечности.Но он выполняется только ПЯТЬ раз, прежде чем вернуться к нормальной работе моей программы.Может кто-нибудь объяснить, что здесь происходит?