Я встраиваю фигурки 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
Уже спасибо за вашу любезную помощь .