我正在使用 Python 中的 QT4 Traits-GUI 使用 Matplotlib 进行图像显示,到目前为止,我已经修改了这个编辑器以尝试包含一个工具栏。
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 的第二个参数是什么?我正在尝试按照我在将工具栏作为 QWidgets 添加到图形时找到的示例,但是这些都在基于 QMainWindow 的类中创建了 main_frame,而不是 Traits Editor。提前致谢。