在 PyQt4 中向 MPL 图添加工具栏
Posted
技术标签:
【中文标题】在 PyQt4 中向 MPL 图添加工具栏【英文标题】:Adding a toolbar to a MPL figure in PyQt4 【发布时间】:2012-04-26 22:04:35 【问题描述】:我有一个非常简单的 pyqt4 应用程序,它嵌入了一个 MatPlotLib 图。我通过 MatplotlibWidget 嵌入 matplotlib 图,并通过 QtDesigner 和 pyuic4 创建了界面。
我想为用户提供对toolbar for interactive navigation 的访问权限。但是,尽管他们在 GTK 上有很好的例子,但我似乎无法让它为 pyQt 工作。它提到了示例,但example for QT4 provided 不包括工具栏。
感谢您对此提供的任何帮助。
This question 类似,但不能完全满足我的需求,我无法适应它。
【问题讨论】:
【参考方案1】:QtDesigner中没有工具栏小部件,但是可以通过代码添加工具栏:
这里是例子,plot_layout
是QtDesigner设计的QVBoxLayout
,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_())
【讨论】:
以上是关于在 PyQt4 中向 MPL 图添加工具栏的主要内容,如果未能解决你的问题,请参考以下文章
编写自定义指令以在 AngularJS (TypeScript) 中向 ng-options 添加工具提示