Я не могу найти классы / атрибут в документах matplotlib - PullRequest
0 голосов
/ 20 сентября 2019

Я не уверен, что я сделал неправильно, но я не могу найти что-нибудь в документации по matplotlib.из кода ниже, все, что я хочу знать, это то, для чего используется окно?это оноэто кажется невозможным для меня.

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

, поэтому я иду в документацию по matplotlib для поиска "get_current_fig_manager ()", и он возвращает FigureManagerBase.Отлично.давайте посмотрим на FigureMangerBase.

посмотрим на FigureManagerBase.нет атрибута окна, методов, суперкласс является объектом.это оно.я врезался в стену.

Этот вопрос кажется чрезвычайно глупым, но я чувствую необходимость найти корень того, почему я не могу делать такие простые вещи, потому что я считаю, что это очень важно для моей кривой обучения в будущем.

Спасибо

1 Ответ

2 голосов
/ 20 сентября 2019

В случае, если вы используете Qt5Agg бэкэнд и посмотрите на репр 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.

Вероятно, должно быть задокументировано.Вы всегда можете поставить вопрос.

...