调用创建进度条功能时如何提供进度条ID

时间:2019-05-24 10:18:48

标签: python-3.x tkinter progress-bar

请原谅我的无知,因为我是Python的新手,正在尝试。

我正在创建一个仪表板,该仪表板允许用户打开文件。当用户打开文件时,软件会在同一行上添加一行,其中包含文件名,进度条和一些按钮。通过创建一个函数来完成行的创建,该函数在每次调用时都会递增行的值,以确保它不会替换现有行,而是在其下添加另一行以表示用户打开的最新文件。

我需要一种为每行动态生成的进度条赋予唯一ID的方法,以便当我从特定行运行文件时,该特定行的进度条起作用,而不是最后一个生成的进度条对最新行起作用添加的行。

现在我只是在按下执行按钮时执行“ 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

0 个答案:

没有答案