我嘗試在以下環境中設計一個簡單的滑塊;然而,它不能作業
注意:我使用 Jupyter Notebook,所以我使用了 FigureCanvasTkAgg 和 TkAgg。
注意:我參考了下面的精彩討論;但是,它仍然無法作業。

uj5u.com熱心網友回復:
在源代碼中,我發現了您的問題:
""" 用于構造 Slider 小部件的基類。不打算直接使用。要使滑塊保持回應,您必須維護對它的參考。"""
問題是你的 Slider 被垃圾收集了。你可以通過以下方式證明:
global slider_de
slider_bar = fig.add_axes([0.12, 0.1, 0.78, 0.03])
slider_de = matplotlib.widgets.Slider(slider_bar, 's_bar', 0, 124, valinit=20)
另請參閱此錯誤的報告以及檔案中的給定解釋:
畫布僅保留對用作回呼的實體方法的弱參考。因此,您需要保留對擁有此類方法的實體的參考。否則該實體將被垃圾收集并且回呼將消失。
這種架構的原因也在源中找到:
在實踐中,當不再需要回呼時,應始終斷開所有回呼以避免懸空參考(從而導致記憶體泄漏)。但是,Matplotlib 中的實際代碼很少這樣做,并且由于其設計,放置此類代碼相當困難。為了解決這個問題,并防止此類記憶體泄漏,我們改為僅存盤對系結方法的弱參考,因此當目標物件需要死亡時,CallbackRegistry 不會使其保持活動狀態。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398968.html
上一篇:tkinterpython中自定義顏色格式的高效代碼
下一篇:表格Python中的居中文本
