Прошу прощения за мое невежество, поскольку я новичок в Python и экспериментирую.
Я создаю панель управления, которая позволяет пользователям открывать файл. Когда пользователь открывает файл, программа добавляет строку с именем файла, индикатором выполнения и несколькими кнопками в одной строке. Создание строки выполняется путем вызова функции, которая увеличивает значение строки каждый раз при ее вызове, чтобы гарантировать, что она не заменит существующую строку, а вместо этого добавляет еще одну строку под ней, чтобы представить последний файл, открытый пользователем.
Мне нужен способ присвоения динамически генерируемым индикаторам выполнения для каждой строки уникальных идентификаторов, чтобы при запуске файла из определенной строки работал индикатор выполнения из этой конкретной строки, а не последний созданный индикатор выполнения, работающий с последней добавлена строка.
Пока я просто делаю "progressStart.start ()", когда нажата кнопка выполнения, но это заставляет работать индикатор выполнения в последнем ряду вместо индикатора выполнения в строке, из которой я выполняю файл.
Любая помощь очень ценится. Надеюсь, я был достаточно ясен в своем объяснении.
def Execute(self, rowNum):
print("Executing...")
print("Row: ", rowNum)
progressStart.start() # Meant to start the progressbar on the current row number, but instead starts the progressbar on the last row added.
# Execute file
def createRow(self):
incrementFunction(self)
global progressStart
progressStart = Progressbar(Main_frame,
orient="horizontal",
length=360,
mode="determinate")
progressStart.grid(row=RowCounter, column=1, padx=3, sticky='e')
global EXEBtn
EXEBtn = Button(Main_frame,
text="Execute",
width=8,
command=lambda e=RowCounter: self.Execute(e))
EXEBtn.grid(row=RowCounter, column=2, padx=3)
def incrementFunction(self):
global RowCounter
RowCounter = RowCounter + 1