【问题标题】:allow event-like communication between a thread and main thread允许线程和主线程之间的类事件通信
【发布时间】:2021-02-28 17:55:44
【问题描述】:

我在客户端有线程等待来自服务器的 udp 消息,而 tkinter 应用程序正在运行并且事情正在进行中。我想根据客户收到的数据修改我的应用程序。据我所知,只能从主线程修改 tkinter 对象。问题是主线程上的进程流实际上不允许检查队列或类似的东西,所以我正在寻找类似于发送信号或引发异常或事件之类的解决方案。任何关于如何允许线程与主线程通信的建议都会很棒!!

【问题讨论】:

  • 当涉及 tkinter 时,除了可以在线程之间共享的队列/其他标志之外,什么都没有。此外,所有 tkinter 事件在技术上都是主线程的一部分。如果您发布一些代码,我可能会告诉您如何使用队列来解决您的问题。顺便说一句,我还没有看到队列无法解决的 tkinter/threading 问题。

标签: python multithreading tkinter thread-safety


【解决方案1】:

我听说从线程调用event_generate 是安全的,但我不知道有明确的来源可以解释这是否属实。互联网上肯定有很多关于这个主题的帖子。

有关 tkinter 如何处理事件的详细描述,包括关于 tkinter 如何与线程一起工作的一些信息,请参阅 tkdocs.com 上标题为 Event loop 的部分

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    相关资源
    最近更新 更多