【问题标题】:NSWindow drag regions should only be invalidated on the Main Thread! This will throw an exception in the futureNSWindow 拖动区域应该只在主线程上无效!这将在将来引发异常
【发布时间】:2020-12-04 07:56:21
【问题描述】:

我正在编写一个有两个线程的 Python 程序。一个显示 GUI,另一个从扫描仪获取输入并将数据保存在在线数据库中。该代码在我的树莓派上运行良好,但如果我在我的 MacBook Pro(Catalina 10.15.2)上尝试它,我会收到上述警告,然后是我的代码崩溃。

有没有人知道如何让它工作或导致问题的原因?

【问题讨论】:

    标签: python python-3.x multithreading macos nswindow


    【解决方案1】:

    您可能使用不同的 Python 版本。 Raspberry PI 上的 Python 仍然允许在主线程之外使 NSWindow 拖动区域无效,而 MacBook Pro 中的 Python 已经停止支持这一点。您可能需要重构代码,以便 NSWindow 拖动区域仅在主线程上无效。

    您需要本地化 NSWindow 拖动区域无效的位置,并确保这些发生在主线程中。

    编辑

    提问者解释说,根据他/她的发现,NSWindow 拖动区域仅适用于 Mac。

    【讨论】:

      【解决方案2】:

      您可能想致电:

        matplotlib.pyplot.switch_backend('Agg') 
      
      • 这样您的服务器就不会尝试创建(然后销毁)永远不会看到的 GUI 窗口。

      【讨论】:

      • 你是救生员
      猜你喜欢
      • 2021-01-27
      • 2021-11-28
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多