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

Tim*_*man 3 python matplotlib pyqt4

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

我想为用户提供访问交互式导航工具栏的权限.但是,尽管他们在GTK上有很好的例子,但我似乎无法让它适用于pyQt.它提到了示例,但提供的QT4示例不包括工具栏.

我很感激任何帮助.


这个问题很相似,但并没有完全解决我需要的问题,而且我无法适应它.

HYR*_*YRY 5

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

这是一个例子,它plot_layoutQVBoxLayout由QtDesigner设计的,plot_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_())
Run Code Online (Sandbox Code Playgroud)