使用MPL 1.2.1,可以通過figure.canvas.toolbar
獲取標準MPL圖的導航工具欄的處理程序。我不確定以前的版本。
至少在QT後端中,可以使用QT方法.addWidget()
嚮導航工具欄添加任意小部件。我想其他後端將使用類似的方法工作,但我沒有測試過它們。
這是增加了一個QLineEdit()
導航工具欄更改MPL圖標題的工作示例(使用QT後端)(從IPython中(pylab)與run -i ...
運行,然後啓動test()
):
from PySide import QtGui, QtCore
def test():
plot([1,2,3], lw=2)
q = qt4_interface(gcf())
return q # WARNING: it's paramount to return the object otherwise, with
# no references, python deletes it and the GUI doesn't respond!
class qt4_interface:
def __init__(self,fig):
self.fig = fig
toolbar = fig.canvas.toolbar
self.line_edit = QtGui.QLineEdit()
toolbar.addWidget(self.line_edit)
self.line_edit.editingFinished.connect(self.do_something)
def do_something(self, *args):
self.fig.axes[0].set_title(self.line_edit.text())
self.fig.canvas.draw()
#f = open('l','a'); f.write('yes\n'); f.flush(); f.close()
請問http://dalelane.co.uk/blog/?p=778有幫助嗎? – halex
嗯,我之前看到過這個解決方案。如果可能的話,我正在尋找更簡單的東西。我有一種感覺,可能無法直接編輯導航工具欄對象,所以我可能需要解決您提到的解決方案。謝謝:-) – JBT