Бэкэнд Matplotlib Qt5Agg не работает в Spyder - PullRequest
0 голосов
/ 26 мая 2020

Я встраиваю фигурки Matplotlib и панели инструментов навигации в приложение Qt, и хотя код работает нормально при выполнении в терминале, я получаю следующую ошибку, если пытаюсь запустить его в консоли в Spyder:

TypeError: arguments did not match any overloaded call:
  QToolBar(str, parent: QWidget = None): argument 1 has unexpected type 'PySide2.QtWidgets.QWidget'
  QToolBar(parent: QWidget = None): argument 1 has unexpected type 'PySide2.QtWidgets.QWidget'

Вот мой код:

import sys
import numpy as np
from PySide2.QtWidgets import QWidget, QVBoxLayout, QApplication
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt5agg import (
        FigureCanvas, NavigationToolbar2QT as NavigationToolbar)

qapp = QApplication.instance()
if qapp is None:
    qapp = QApplication(sys.argv)

main = QWidget()
main_layout = QVBoxLayout()

static_canvas = FigureCanvas(Figure(figsize=(5, 3)))
toolbar = NavigationToolbar(static_canvas, parent=main)
main_layout.addWidget(toolbar)
main_layout.addWidget(static_canvas)

static_ax = static_canvas.figure.subplots()
t = np.linspace(0, 10, 501)
static_ax.plot(t, np.tan(t), ".")

main.show()
qapp.exec_()

Установленные версии: Spyder: 4.1.3, PySide2: 5.13.2, Matplotlib: 3.2.1

Уже спасибо за вашу любезную помощь .

...