多线程 Tkinter 前端与后端的最佳方式
Best way to Multi-Thread Tkinter Front End with the Back end
我有一个 Pandas 迭代函数,它在一个单独的后端文件中运行,与 TKinter 的 GUI 不同。我知道 pandas 中的迭代在大多数情况下并不是一个好的做法,但在少数情况下。但是,就我而言,我确实需要使用迭代。
我发现使用多线程有助于防止 GUI 出现“无响应”。最好的方法是什么?
我不确定这是否需要我的代码示例。我只是想了解在这种情况下如何应用多线程。
更新:
command=combine_funcs(threading.Thread(target=getattr(Backend, cmdstr)).start(),lambda i=i: dynamic_label(i)))
我想我越来越接近于在命令函数上应用线程的解决方案。
我无法使它正常工作,还有其他方法吗?
我的解决方法是将命令设置为 lambda,然后应用线程。最后一分钟还意识到我把线放在了错误的按钮上。
command=lambda : threading.Thread(target=getattr(Backend, cmdstr)).start())
我有一个 Pandas 迭代函数,它在一个单独的后端文件中运行,与 TKinter 的 GUI 不同。我知道 pandas 中的迭代在大多数情况下并不是一个好的做法,但在少数情况下。但是,就我而言,我确实需要使用迭代。
我发现使用多线程有助于防止 GUI 出现“无响应”。最好的方法是什么?
我不确定这是否需要我的代码示例。我只是想了解在这种情况下如何应用多线程。
更新:
command=combine_funcs(threading.Thread(target=getattr(Backend, cmdstr)).start(),lambda i=i: dynamic_label(i)))
我想我越来越接近于在命令函数上应用线程的解决方案。
我无法使它正常工作,还有其他方法吗?
我的解决方法是将命令设置为 lambda,然后应用线程。最后一分钟还意识到我把线放在了错误的按钮上。
command=lambda : threading.Thread(target=getattr(Backend, cmdstr)).start())