簡體   English   中英

python matplotlib:在非主線程中繪制到 GUI

[英]python matplotlib: Plotting to GUI in non-main thread

我在非主線程中運行 matplotlib 時遇到了一些問題。

我正在使用 tkinter 做一個 GUI,它在新線程中運行一些操作,顯示進度條等。然后是 plot 圖形。

問題是: plot 部分不起作用,我警告來了:

用戶警告:在主線程之外啟動 Matplotlib GUI 可能會失敗。

有解決辦法嗎?

也許如果我不能回調主線程,我可以在主線程中運行 matplotlib 部分,在代碼的這個非主線程部分調用它的 function 嗎?

所有 GUI function 調用必須從主線程發生。

您可能能夠在另一個線程中計算圖形並將結果傳達給要顯示的主線程。

有關線程間通信,請參閱https://docs.python.org/3/library/queue.html 簡而言之,您可以 Queue.put 從輔助線程中獲取結果,並在主線程中 Queue.get 中獲取結果。

Matplotlib 不是線程安全的,您可以改用多處理並讓另一個進程處理圖形繪圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM