python - Tkinter 主循环在后台
问题描述
我想在后台运行 tkinter 主循环,因为我遵循 MVC 模式,所以控制器得到一个接口对象来处理所有问题。所以我试着把它穿起来。RuntimeError: 从不同的公寓调用 Tcl 发生。没有看到有关此主题的进一步答案。有谁知道该怎么做?
谢谢,马克斯
解决方案
对于这个问题,我没有你想要的解决方案。也许这个问题可以告诉你会发生什么。
无论如何,您可以尝试在函数内定义所有 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()
推荐阅读
- reactjs - 如何测试从 React 组件中的另一个函数获取数据的异步函数?
- flutter - 如何在没有 BuildContext 的情况下显示对话框?
- python - 尝试打印自定义用户状态 discord.py
- django - 如果将 django 用作没有前端的 REST API,如何使用 csrf
- spss - 将变量中的某些值从几分钟转换为几小时,同时保持其余值不变
- botium-box - 使用 Botim 和 WebdriverIO 实现聊天机器人自动化
- tensorflow - 在 PASCALVOC 上从模型动物园微调 EfficientDet-D0 无法识别类别标签 1(TensorFlow 对象检测 API)
- html - 将鼠标悬停在第一个孩子无法正常工作的链接上
- vue.js - 如何将本机引导程序 5 js(modal) 连接到 nuxt.js?
- machine-learning - 如何使用 FastText 查找相似的句子(词汇不足的句子)