Python 如何为线程调用的函数提供参数

Python 如何为线程调用的函数提供参数,python,tkinter,Python,Tkinter,这不起作用 回溯(最近一次呼叫最后一次): 文件“C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\threading.py”,第932行,在\u bootstrap\u inner中 self.run() 文件“C:\Users\Admin\AppData\Local\Programs\Python38-32\lib\threading.py”,第870行,正在运行 自我目标(*自我参数,**自我参数) TypeError

这不起作用

回溯(最近一次呼叫最后一次):
文件“C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\threading.py”,第932行,在\u bootstrap\u inner中
self.run()
文件“C:\Users\Admin\AppData\Local\Programs\Python38-32\lib\threading.py”,第870行,正在运行
自我目标(*自我参数,**自我参数)
TypeError:*后面的count()参数必须是iterable,而不是int
试试这个:

将tkinter作为tk导入
导入时间
def count():
label=tk.label(赢,text=“完成5秒”)
label.grid(行=0,列=1)
def start():
#5秒=5000毫秒
赢后(5000,计数)
label=tk.label(win,text=“start”)
label.grid(行=1,列=1)
win=tk.tk()
win.geometry(“200x200”)
btn=tk.按钮(win,text=“hi”,command=start)
btn.网格(行=2,列=5)
win.mainloop()

我删除了线程,改为使用
win.after
。有关
.after
方法的更多信息,请阅读将
args=(5)
更改为
args=(5,)
尝试
args=(5,)
。如果您尝试从多个线程使用它,tkinter大多数时候都会崩溃。试着改用
.after
。谢谢,但正如@thelizzard所说的(5,)worksLol那是我:D。我还说它可能会使tkinter崩溃(看第三条评论)哦,谢谢。我看不出来
import tkinter as tk
import threading
import time

def count(timeamt):
    time.sleep(timeamt)
    tk.Label(win, text='5 sec done').grid(row = 0, column = 1)

def start():
    t1 = threading.Thread(target=count, args=(5))
    t1.start()
    # count(5)
    tk.Label(win, text = 'started').grid(row = 1, column = 1)

win = tk.Tk()
win.geometry('200x200')

tk.Button(win, text = "hi", command = start).grid(row = 2, column = 5)

win.mainloop()