我正在 Kivy 中构建一个 GUI,它显示网络摄像头提要(使用 openCV)并有两个按钮(按钮 A 和 B)。当我按下按钮 A 时,它会调用一个执行某些操作的函数。但是,当被调用的函数正在执行时,我的屏幕和 GUI 会冻结。
如何实现按下按钮调用的函数以在 python 中的不同线程上运行?
Cats萌萌
浏览 108回答 2
2回答
慕斯709654
如果您的按钮调用一个需要时间执行的函数,kivy 窗口会冻结,直到该函数完成。您可以使用多线程并让一个线程执行该功能。我没有你的代码,但例如:from threading import Thread# the function that the button executesdef button_press(): # create the thread to invoke other_func with arguments (2, 5) t = Thread(target=other_func, args=(2, 5)) # set daemon to true so the thread dies when app is closed t.daemon = True # start the thread t.start()def other_func(a, b): # your code here