PyQt アプリケーションでいくつかのグラフを表示する必要があるため、これらのコードを書き留めます。それは機能しますが、チャートを描くのに時間がかかり、メインウィンドウが「フリーズ」することがあります。
別のスレッドでそれを行うと解決するはずだと思います。しかし、どうすればそれができますか?または、「非ブロック」モードでグラフを描画する別の方法はありますか?
from PyQt4 import QtGui
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class MplCanvas(FigureCanvas):
def __init__(self):
self.fig = Figure()
self.axes = self.fig.add_subplot(111)
# do something...
FigureCanvas.__init__(self, self.fig)
FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
# do something...
def draw(self):
# do something...