首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tkinter + MultiProcessing: Tkinter不断打开Windows

Tkinter + MultiProcessing: Tkinter不断打开Windows
EN

Stack Overflow用户
提问于 2022-10-24 20:24:35
回答 1查看 38关注 0票数 0

我编写了这段代码,基本上打开了一个用Tkinter制作的GUI,并同时运行调度器,只要我在PyCharm上运行这段代码,每件事情都能正常工作。

现在,如果我使用"PyInstaller“将代码转换为exe,在运行代码之后,GUI会一次又一次地打开,直到我终止任务。

代码语言:javascript
复制
from multiprocessing import Process
import tkinter as tk

# IMPORTING SCHEDULER AND ADDREDDITACCOUNT GUI

from app.scheduler import schedule_upload
from app.addRedditAccount import AddRedditAccount


if __name__ == "__main__":

    window = tk.Tk()
    AddRedditAccount(window)

    schedule = Process(name='schedule', target=schedule_upload)
    schedule.start()

    window.mainloop()
EN

回答 1

Stack Overflow用户

发布于 2022-10-24 23:47:31

之所以发生这种情况,是因为您试图在可执行文件中使用multiprocessing。我假设您也在使用Windows操作系统。您所需要做的就是从freeze_support模块添加一个对multiprocessing的调用。

例如:

代码语言:javascript
复制
from multiprocessing import Process, freeze_support  # <-- added this
import tkinter as tk

# IMPORTING SCHEDULER AND ADDREDDITACCOUNT GUI

from app.scheduler import schedule_upload
from app.addRedditAccount import AddRedditAccount
freeze_support()   # <--- added this


if __name__ == "__main__":

    window = tk.Tk()
    AddRedditAccount(window)

    schedule = Process(name='schedule', target=schedule_upload)
    schedule.start()

    window.mainloop()

重新编译,您的可执行文件应该可以正常工作。

您可以在python 这里中了解更多有关这里的信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74186441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档