Skip to main content
 首页 » 编程设计

python之多处理/子处理时 Tkinter GUI 卡住

2025年05月04日25shanyou

所以我遇到了一个大问题。我目前正在尝试使用多处理/子处理来运行我的 Tkinter 应用程序旁边的文件,但是,一旦我运行该过程,GUI 就会卡住,直到我完成该过程。有什么办法可以解决这个问题吗?我还查看了关于 SO 的其他问题,但无济于事(我发现有人建议 root.update() 但是它没有按预期工作。

注意:我没有包含 GUI 元素,因为我已经制作了基本程序来尝试这个(只有几行)并遇到同样的问题。值得注意的是,我正在运行 Windows。

代码(断章取义):

def run_file(self): 
    self.root.update() 
    sub_process=subprocess.call(self.sub_proc_args) 
 
process=multiprocessing.Process(target=self.run_file()) 
process.start() 

请您参考如下方法:

通过执行 self.run_file(),您将在多处理可以使用它之前调用 run_file。您需要使用 target=self.run_file(注意,没有括号)。