Думаю, значения, которые я сохранил, меняются. Однако индекс этого не делает, поэтому я не могу приказать ему выполнять другие действия.
Вот мой код
Код: Выделить всё
import tkinter as tk
from tkinter import ttk
root = tk.TK()
root.geometry('700x700')
Joint_param = {}
Joint_param["J1"] = [0, -120, 120]
Joint_param["J2"] = [10, -70, 90]
Joint_param["J3"] = [20, -120, 60]
Joint_param["J4"] = [30, -90, 90]
Joint_param["J5"] = [40, -140, 140]
Joint_param["J6"] = [50, -180, 180]
slider_value = []
for i in range(6):
self.slider_value[i].append(tk.DoubleVar())
for i in range(6):
slider[f'{i+1}'] = ttk.Scale(self.frame_control, from_=Joint_param[f'J{i+1}'][2], to=Joint_param[f'J{i+1}'][1], orient=tk.VERTICAL, variable=slider_value[i], command = lambda x: slider_ctrl(i))
Здесь я попытался распечатать значение индекса, чтобы увидеть проблему
Код: Выделить всё
def slider_ctrl(index):
print(index)
slider_value[index].set(round(float(slider_value[index].get()),2))
Код: Выделить всё
0
1
2
3
4
5
5
5
5
5
5
5
остальные — когда я пытался изменить каждый слайдер
Подробнее здесь: https://stackoverflow.com/questions/791 ... t-the-last