将工具栏添加到PyQt4中的MPL图形

时间:2012-04-26 22:04:36

标签: python matplotlib pyqt4

我有一个非常简单的pyqt4应用程序,它嵌入了一个MatPlotLib图。我通过MatplotlibWidget嵌入了matplotlib图,我通过QtDesigner和pyuic4创建了接口。

我想向用户提供toolbar for interactive navigation的访问权限。但是,尽管他们在GTK上有很好的例子,但我似乎无法让它适用于pyQt。它提到了示例,但example for QT4 provided不包括工具栏。

我很感激任何帮助。


This question类似,但并不能完全满足我的需要,而且我无法适应它。

1 个答案:

答案 0 :(得分:5)

QtDesigner中没有工具栏小部件,但您可以按代码添加工具栏:

以下是示例,plot_layout是QtDesigner设计的QVBoxLayoutplot_canvasMatplotlibWidget小部件。

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_())