埋め込みmatplotlib
プロットを使用してデータをグラフ化し、有用な視覚化を追加するプログラムがあります。問題はmatplotlib
は、これらの視覚化が重い場合、メインウィンドウがハングするポイントに非常に遅くなる可能性があります。 PyQtは主なスレッド以外のどこからでもメインウィンドウを更新することを禁じているので、別のスレッドやプロセスでこれらのグラフィックスを追加することはできません。その代わりに、基本的には進歩バーを持つ別のウィンドウを用意したいと思います。PyQt4で読み込みウィンドウを作成
# Creates a new window with an endless progress bar
class LoadingWindow(QtGui.QMainWindow):
def __init__(self):
super(LoadingWindow, self).__init__()
self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
main_widget = QtGui.QWidget(self)
layout = QtGui.QVBoxLayout()
layout.addWidget(QtGui.QLabel("Graphing now. Please wait...", self))
progress = QtGui.QProgressBar(self)
progress.setMinimum(0)
progress.setMaximum(0)
layout.addWidget(progress)
main_widget.setLayout(layout)
main_widget.setFocus()
self.setCentralWidget(main_widget)
self.show()
を...しかし、私はこのクラスのインスタンスを作成するときにロードバーが表示されないと、両方のウィンドウがハング:グラフが完了したときに殺します。このウィンドウを新しいスレッドまたはプロセスに表示させる方法はありますか?あるいは、この問題を一般的に解決する良い方法がありますか?