如何在 Tkinter Python中使用线程
先决条件:
- Python GUI – tkinter
- 多线程
Python为开发 GUI(图形用户界面)提供了多种选择。在所有 GUI 方法中,tkinter 是最常用的方法。它是Python附带的 Tk GUI 工具包的标准Python接口。使用 tkinter 的Python是创建 GUI 应用程序的最快和最简单的方法。使用 tkinter 创建 GUI 是一项简单的任务。
在创建 GUI 时,需要在后端进行多项工作/操作。假设我们要同时执行 4 个操作。这里的问题是,每个操作都一个一个地执行。在执行一项操作期间,GUI 窗口也不会移动,这就是我们需要线程化的原因。下面给出了两种实现,这显然有助于更好地理解它们的差异。
无螺纹
在没有线程的情况下工作,会使进程延迟。此外,在完全执行之前,窗口不会移动。
方法
- 创建普通的 Tkinter 窗口
- 使用命令添加按钮
- 执行 Tkinter
程序:
Python3
# Import Module
from tkinter import *
import time
from threading import *
# Create Object
root = Tk()
# Set geometry
root.geometry("400x400")
def work():
print("sleep time start")
for i in range(10):
print(i)
time.sleep(1)
print("sleep time stop")
# Create Button
Button(root, text="Click Me", command=work).pack()
# Execute Tkinter
root.mainloop()
Python3
# Import Module
from tkinter import *
import time
from threading import *
# Create Object
root = Tk()
# Set geometry
root.geometry("400x400")
# use threading
def threading():
# Call work function
t1=Thread(target=work)
t1.start()
# work function
def work():
print("sleep time start")
for i in range(10):
print(i)
time.sleep(1)
print("sleep time stop")
# Create Button
Button(root,text="Click Me",command = threading).pack()
# Execute Tkinter
root.mainloop()
输出:
带螺纹
方法
- 创建普通的 Tkinter 窗口
- 添加带有线程命令的按钮
- 执行 Tkinter
程序:
蟒蛇3
# Import Module
from tkinter import *
import time
from threading import *
# Create Object
root = Tk()
# Set geometry
root.geometry("400x400")
# use threading
def threading():
# Call work function
t1=Thread(target=work)
t1.start()
# work function
def work():
print("sleep time start")
for i in range(10):
print(i)
time.sleep(1)
print("sleep time stop")
# Create Button
Button(root,text="Click Me",command = threading).pack()
# Execute Tkinter
root.mainloop()
输出: