MPL 1.2.1 ile, figure.canvas.toolbar
aracılığıyla standart bir MPL figürünün gezinme araç çubuğunun bir işleyicisini almak mümkündür. Önceki sürümlerden emin değilim.
En azından QT arka ucuyla, QT yöntemi .addWidget()
'u kullanarak gezinme araç çubuğuna isteğe bağlı widget'lar eklemek mümkündür. Bence diğer arka planlar benzer yöntemler kullanarak çalışacak, ama ben onları test etmedim. İşte
bir MPL figürü başlığını değiştirmek için gezinme araç çubuğuna bir QLineEdit()
ekleyen bir çalışma örneği (QT arka uç kullanarak) (daha sonra test()
run -i ...
ile ipython (PyLab) çalıştırmak başlatmak) olduğu:
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 Yardımda bulunur mu? – halex
Bu çözümü daha önce gördüm. Mümkünse daha basit bir şey arıyorum.Navigasyon araç çubuğu nesnesini doğrudan düzenlemenin mümkün olmayacağına dair bir fikrim var, bu yüzden bahsettiğiniz çözüme yerleşmem gerekebilir. Teşekkürler :-) – JBT