我有一个非常简单的 pyqt4 应用程序,它嵌入了一个 MatPlotLib 图。我通过 MatplotlibWidget 嵌入 matplotlib 图,并通过 QtDesigner 和 pyuic4 创建了界面。
我想为用户提供对交互式导航工具栏的访问权限。但是,尽管他们在 GTK 上有很好的例子,但我似乎无法让它为 pyQt 工作。它提到了示例,但提供的 QT4 示例不包括工具栏。
我很感激这方面的任何帮助。
这个问题很相似,但并没有完全解决我的需求,而且我无法适应它。
我有一个非常简单的 pyqt4 应用程序,它嵌入了一个 MatPlotLib 图。我通过 MatplotlibWidget 嵌入 matplotlib 图,并通过 QtDesigner 和 pyuic4 创建了界面。
我想为用户提供对交互式导航工具栏的访问权限。但是,尽管他们在 GTK 上有很好的例子,但我似乎无法让它为 pyQt 工作。它提到了示例,但提供的 QT4 示例不包括工具栏。
我很感激这方面的任何帮助。
这个问题很相似,但并没有完全解决我的需求,而且我无法适应它。
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_())