so basically, i would like to make the Progressbar(Tkinter's widget) reach 100%, once the other function i am running finishes. Right now i am using threading to make them run in parallel, and i have calculated how long it takes for the function to finish, and i have set up the progressbar accordingly. But what about when the function doesn't take a set amount of time, and it could get either 5 secs or 3 minutes?
from threading import Thread
import serial
import tkinter as tk
from tkinter import *
import re
from time import sleep
import time
ser = serial.Serial('COM3', timeout=1)
ser.baudrate = 115200
maxTemp = 85
def bar():
import time
progress['value'] = 0
mainWindow.update_idletasks()
time.sleep(1)
progress['value'] = 20
mainWindow.update_idletasks()
time.sleep(1)
progress['value'] = 40
mainWindow.update_idletasks()
time.sleep(1)
progress['value'] = 50
mainWindow.update_idletasks()
time.sleep(1)
progress['value'] = 60
mainWindow.update_idletasks()
time.sleep(1)
progress['value'] = 80
mainWindow.update_idletasks()
time.sleep(1)
progress['value'] = 100
def testmode_login():
#the function is too big so i won't write it, it could take from 3 secs, to 50 secs to finish.
def parallel_run():
if __name__ == '__main__':
Thread(target=bar2).start()
Thread(target=testmode_login).start()