2012-04-26 2 views
3

У меня очень простое приложение pyqt4, в которое встроена фигура MatPlotLib. Я внедряю фигуру matplotlib через MatplotlibWidget, и я создал интерфейс через QtDesigner вместе с pyuic4.Добавление панели инструментов к фигуре MPL в PyQt4

Я хотел бы предоставить пользователю доступ к toolbar for interactive navigation. Но, несмотря на их хороший пример на GTK, я не могу заставить его работать на pyQt. В нем упоминаются примеры, но example for QT4 provided не включает панель инструментов.

Я ценю любую помощь с этим.


This question похож, но не совсем то, что адрес мне нужно, и я не смог адаптировать его.

ответ

5

Там нет панели виджетов в QtDesigner, но вы можете добавить панель инструментов по коде:

Вот пример, то plot_layout является QVBoxLayout разработан QtDesigner и plot_canvas является MatplotlibWidget виджетом.

import numpy as np 
from PyQt4.QtCore import Qt 
from PyQt4.QtGui import * 
from matplotlib.backends.backend_qt4 import NavigationToolbar2QT as NavigationToolbar 
from plot_dialog2 import Ui_Form 

class PlotDialog(QWidget, Ui_Form): 
    def __init__(self): 
     QWidget.__init__(self) 
     self.setupUi(self) 
     self.navi_toolbar = NavigationToolbar(self.plot_canvas, self) 
     self.plot_layout.addWidget(self.navi_toolbar) 

if __name__ == "__main__": 
    import sys 
    app = QApplication(sys.argv) 
    dialog = PlotDialog() 
    dialog.show() 
    sys.exit(app.exec_()) 
+0

Спасибо, это обеспечило то, что мне нужно, чтобы заставить его работать. – TimothyAWiseman

Смежные вопросы