画像表示に Matplotlib を使用して Python で QT4 Traits-GUI に取り組んでいますが、これまでのところ、このエディターを変更してツールバーを含めようとしています。
from traitsui.qt4.editor import Editor
from pyface.qt import QtGui, QtCore
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavigationToolbar
class _MPLFigureEditor(Editor):
"""
Building custom figure editor for displaying matplotlib figures with a qt4-based Traits interface
"""
scrollable = True
def init(self, parent):
self.control = self._create_canvas(parent)
self.set_tooltip()
def update_editor(self):
pass
def _create_canvas(self, parent):
mpl_canvas = FigureCanvas(self.value) #self.value is the figure linked to the editor factory
mpl_toolbar = NavigationToolbar(mpl_canvas,???)
layout = QtGui.QVBoxLayout()
layout.addWidget(mpl_toolbar)
layout.addWidget(mpl_canvas)
return layout
これは、ツールバーを作成する正しい場所ですか? この場合、NavigationToolbar の 2 番目の引数は何でしょうか? ツールバーを QWidget として Figure に追加する際に見つけた例に従おうとしていますが、これらはすべて、Traits Editor ではなく、QMainWindow ベースのクラス内に main_frame を作成します。前もって感謝します。