It's a simple Python example to run code in background thread, to keep GUI responsive.
#tkinter for Python 3.x
#Tkinter for Python 2.x
import tkinter
from threading import Thread
import time
def quit():
global tkTop
tkTop.destroy()
def doSomething():
print("Do something")
for count in range(5):
time.sleep(1)
varLabel.set(str(count))
def runThread():
varLabel.set("runThread() called")
myThread = Thread(target=doSomething)
myThread.start()
tkTop = tkinter.Tk()
tkTop.geometry('300x200')
tkButtonQuit = tkinter.Button(
tkTop,
text="Quit",
command=quit)
tkButtonQuit.pack()
tkButtonRunThread = tkinter.Button(
tkTop,
text="Do something in another thread",
command=runThread)
tkButtonRunThread.pack()
tkDummyButton = tkinter.Button(
tkTop,
text="Dummy Button")
tkDummyButton.pack()
varLabel = tkinter.StringVar()
tkLabel = tkinter.Label(textvariable=varLabel)
tkLabel.pack()
tkinter.mainloop()
