matplotlib导航栏出现但没有功能

时间:2015-01-29 00:03:48

标签: python qt matplotlib pyside

虽然我已经做了很多例子,但我所看到的似乎都没有解决我想要解决的问题。 我正在使用Qt设计器来创建GUI。我也使用PySide进行Qt绑定,使用matplotlib作为导航栏。

我看到的大部分示例都很简单,但它们都使用类似于以下代码的内容,因为我使用Qt生成GUI,因此对我不起作用。

    self.main_frame = QWidget()

    self.fig = Figure((5.0, 4.0), dpi=100)
    self.canvas = FigureCanvas(self.fig)
    self.canvas.setParent(self.main_frame)
    self.canvas.setFocusPolicy(Qt.StrongFocus)
    self.canvas.setFocus()

    self.mpl_toolbar = NavigationToolbar(self.canvas, self.main_frame)

    vbox = QVBoxLayout()
    vbox.addWidget(self.canvas)  # the matplotlib canvas
    vbox.addWidget(self.mpl_toolbar)
    self.main_frame.setLayout(vbox)
    self.setCentralWidget(self.main_frame)

因此,我使用以下代码在我在GUI中创建的框架中成功调出导航栏。 (navFrame)

class MainWindow(QtGui.QMainWindow, tdsGui.Ui_MainWindow):
        def __init__(self, parent=None):
            super(MainWindow, self).__init__(parent)
            # initialize the window
            self.ui = tdsGui.Ui_MainWindow()
            self.ui.setupUi(self)
            # Navigation toolbar created in main
            self.fig = Figure((5, 5), dpi=100)
            self.canvas = FigureCanvas(self.fig)
            self.canvas.setParent(self.ui.frame_plot) 

            self.canvas.setFocusPolicy(Qt.StrongFocus)
            self.canvas.setFocus()
            # nav bar is successfully placed in nav frame
            self.mpl_toolbar = NavigationToolbar(self.canvas, parent=self.ui.navFrame) 

单独的框架保存matplotlib图像(frame_plot)。我尝试在该框架中调出导航栏但它也没有用。

出现导航栏,但没有一个按钮工作在逻辑上与我的绘图相关联,这显示在frame_plot中(顺便说一下,绘图使用动画,每100ms更新一次。这可能与它有关吗?)< / p>

欢迎所有建议,我也可以提供更多信息

非常感谢

Since I have had zero responses, I thought I would add an image to perhaps illustrate the problem I am having. I cannot get the Navigation buttons to work for the matplotlib plot. Do I need to write all the events for the Navigation buttons? I'm pretty new to Python (~2 months) I could use a few tips. Thanks

0 个答案:

没有答案