首页 > 解决方案 > 我在 matplotlib 文档上找不到类/属性

问题描述

从下面的代码中,我只想知道窗口的用途是什么?

plt.ion()
figManager = plt.get_current_fig_manager()
figManager.window.showMaximized()

我去了 matplotlib 文档,搜索get_current_fig_manager()并返回FigureManagerBase. 然后我看了一下FigureMangerBase,没有window属性,methods,超类是object。

标签: pythonmatplotlibfigure

解决方案


如果您正在使用Qt5Agg后端并查看 的 repr figManager.window,它是一个matplotlib.backends.backend_qt5.MainWindow对象。

深入研究 MPL 代码,您会发现它只是对象的一个​​包装器QtWidgets.QMainWindow对象。在 github 上找到的代码:

class MainWindow(QtWidgets.QMainWindow):
    closing = QtCore.Signal()

    def closeEvent(self, event):
        self.closing.emit()
        QtWidgets.QMainWindow.closeEvent(self, event)

看起来它只是作为FigureManagerBase对象的未记录属性被添加为引用打开的 Qt 窗口的一种方式。这允许用户在交互模式下访问 Qt 窗口,而无需导入 Qt。

可能应该记录在案。你可以随时提出问题。


推荐阅读