使用带标签页的Matplotlib绘图窗口时出现QGuiApplication::font()崩溃问题
问题:Matplotlib多标签页窗口重复创建导致Python崩溃
我使用一个便捷类在同一Matplotlib窗口中绘制多个带标签页的图表,首次使用效果正常,但第二次创建窗口后Python会崩溃,报错信息为:QGuiApplication::font(): no QGuiApplication instance and no application font set
最小复现代码如下:
from plotWindow import plotWindow import matplotlib.pyplot as plt import numpy as np for n in range(3): pw = plotWindow() x = np.arange(0, 10, 0.001) for i in range(1,3): f = plt.figure() ysin = np.sin(i*x) plt.plot(x, ysin, '--') pw.addPlot(str(i), f) pw.show()
我对PyQt5了解甚少,不知道该从何处着手排查问题,恳请帮助!
附:该便捷类的完整代码:
import matplotlib matplotlib.use('qt5agg') from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar import matplotlib.pyplot as plt import numpy as np from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton, QWidget, QAction, QTabWidget,QVBoxLayout from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot import sys class plotWindow(): def __init__(self, parent=None): self.app = QApplication(sys.argv) self.MainWindow = QMainWindow() self.MainWindow.__init__() self.MainWindow.setWindowTitle("plot window") self.canvases = [] self.figure_handles = [] self.toolbar_handles = [] self.tab_handles = [] self.current_window = -1 self.tabs = QTabWidget() self.MainWindow.setCentralWidget(self.tabs) self.MainWindow.resize(1280, 900) self.MainWindow.show() def addPlot(self, title, figure): new_tab = QWidget() layout = QVBoxLayout() new_tab.setLayout(layout) figure.subplots_adjust(left=0.05, right=0.99, bottom=0.05, top=0.91, wspace=0.2, hspace=0.2) new_canvas = FigureCanvas(figure) new_toolbar = NavigationToolbar(new_canvas, new_tab) layout.addWidget(new_canvas) layout.addWidget(new_toolbar) self.tabs.addTab(new_tab, title) self.toolbar_handles.append(new_toolbar) self.canvases.append(new_canvas) self.figure_handles.append(figure) self.tab_handles.append(new_tab) def show(self): self.app.exec_()
该问题已在相关代码仓库上报但尚未得到解答。
内容的提问来源于stack exchange,提问作者David Pagnon
相关产品推荐
相关产品推荐

