首页 > 解决方案 > Tkinter 主循环在后台

问题描述

我想在后台运行 tkinter 主循环,因为我遵循 MVC 模式,所以控制器得到一个接口对象来处理所有问题。所以我试着把它穿起来。RuntimeError: 从不同的公寓调用 Tcl 发生。没有看到有关此主题的进一步答案。有谁知道该怎么做?

谢谢,马克斯

标签: pythontkintermodel-view-controller

解决方案


对于这个问题,我没有你想要的解决方案。也许这个问题可以告诉你会发生什么。

无论如何,您可以尝试在函数内定义所有 tkinter 对象,如下所示:

from tkinter import Tk
import threading

def mainloop():
    root = Tk()
    #Your tkinter objects goes here
    root.mainloop()

t = threading.Thread(target=mainloop)
t.start()

或者您可以在没有线程的情况下运行主循环并将控制器线程化:

from tkinter import Tk
import threading

root = Tk()
root.mainloop()

def controler():
    while True:
        pass

t = threading.Thread(target=controler)
t.start()

推荐阅读