3

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

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

我很感激这方面的任何帮助。


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

4

1 回答 1

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_())
于 2012-04-27T01:19:33.190 回答