我有一个非常简单的pyqt4应用程序,它嵌入了一个MatPlotLib图。我通过MatplotlibWidget嵌入了matplotlib图,我通过QtDesigner和pyuic4创建了接口。
我想向用户提供toolbar for interactive navigation的访问权限。但是,尽管他们在GTK上有很好的例子,但我似乎无法让它适用于pyQt。它提到了示例,但example for QT4 provided不包括工具栏。
我很感激任何帮助。
This question类似,但并不能完全满足我的需要,而且我无法适应它。
答案 0 :(得分:5)
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_())