小编M.M*_*hel的帖子

蟒蛇 | tkinter 和线程:“主线程不在主循环中”

我正在为我的公司开发一个“多层”GUI 来监控温度和状态。因为我对 python 编程很陌生,所以我可以在我的代码中使用一些帮助。

\n

快速代码解释:

\n

代码由类构成。“Main”初始化主窗口(tkinter)并创建其他要显示的框架(如果需要)。除“canvas”之外的所有其他类都是一个将显示不同内容的框架。

\n

每个中的画布都包含图像和一些文本/变量文本。\n线程用于从数据库获取数据并更改画布中的文本。

\n

问题:

\n

每次,线程访问画布并尝试更改文本或创建新文本时,"main thread is not in main loop"都会引发错误。

\n
Exception in thread Thread-1:\nTraceback (most recent call last):\n  File "/usr/lib/python3.4/threading.py", line 920, in _bootstrap_inner\n    self.run()\n  File "/usr/lib/python3.4/threading.py", line 868, in run\n    self._target(*self._args, **self._kwargs)\n  File "/home/pi/Documents/Programme/MM/TEST_Dateien/TEST_QUEUE.py", line 154, in __call__\n    canvUbersicht.create_text(500,500, text="HOIIIIII")\n  File "/usr/lib/python3.4/tkinter/__init__.py", line 2345, in create_text\n    return self._create('text', args, kw)\n  File "/usr/lib/python3.4/tkinter/__init__.py", line 2321, in _create\n    *(args + self._options(cnf, kw))))\nRuntimeError: main thread is not in main …
Run Code Online (Sandbox Code Playgroud)

python multithreading canvas tkinter

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

canvas ×1

multithreading ×1

python ×1

tkinter ×1