Я рисую объекты линии холста, определяя их координаты с помощью виджетов scale и spinbox.
Ниже приведена функция, которая запускается при использовании масштабирования или spinbox.
def change_borehole_depth(self, var):
for k, v in self.objects.items():
self.delete(v)
self.objects = {}
if var.get():
self.depth_of_borehole(meter=var.get(), size=75)
Обычно , если я вызову функцию self.depth_of_borehole
с точными параметрами в методе __init__
, ползунок полосы прокрутки автоматически изменится в соответствии с координатами линейных объектов. Однако когда я использую scale
и spinbox
, чтобы изменить минимальную и максимальную координаты y, форма ползунка не меняется. Но он меняется после нажатия на ползунок.
Другие функции работают хорошо, поэтому я просто делюсь функцией self.change_borehole_depth
, потому что это функция, которая определяет размер строк, когда я использую scale
и spinbox
. Нет проблем в создании линий в соответствии с var
. Проблема только в том, что ползунок полосы прокрутки не изменяет размеры / изменяет автоматически. Чтобы решить эту проблему, я сначала попытался использовать метод update
. Но это не сработало. Тогда я использовал update_idletasks
метод, но он не сработал. Я также использовал set
, но это не сработало.
Я делюсь некоторыми скриншотами, которые, я надеюсь, могут быть полезны для понимания проблемы.
Перед тем, как щелкнуть ползунок полосы прокрутки :
После нажатия ползунка полосы прокрутки:
Когда координаты Линейный объект был изменен, длина ползунка не меняется.
Итак, что я должен сделать, чтобы решить эту проблему. При необходимости я могу поделиться остальными кодами.
Заранее спасибо.