在 PyQt4 中嵌入 Matplotlib:分步指南
将交互式 matplotlib 图形集成到 PyQt4 用户界面中比它更简单可能看起来。以下是分步说明:
导入必要的模块:
首先从 matplotlib.backends 导入相关的 Qt 小部件。 backend_qt4agg:
<code class="python">from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar</code>
创建一个 Matplotlib 图:
实例化一个 Figure 对象作为图形的画布。
<code class="python">self.figure = Figure()</code>
实例化 Canvas 的 Qt Widget:
创建FigureCanvas 的实例,它代表将显示图形的 Qt Widget。
<code class="python">self.canvas = FigureCanvas(self.figure)</code>
添加导航工具栏:
NavigationToolbar 小部件提供用于缩放、平移和保存图窗的控件。
<code class="python">self.toolbar = NavigationToolbar(self.canvas, self)</code>
创建一个按钮:
创建一个 PyQt 按钮,单击该按钮时将触发绘图函数。
<code class="python">self.button = QtGui.QPushButton('Plot') self.button.clicked.connect(self.plot)</code>
设计布局:
在 Qt 布局中排列小部件。
<code class="python">layout = QtGui.QVBoxLayout() layout.addWidget(self.toolbar) layout.addWidget(self.canvas) layout.addWidget(self.button) self.setLayout(layout)</code>
绘图随机数据:
定义一个函数来生成随机数据并将其绘制在图形上。
<code class="python">def plot(self): data = [random.random() for i in range(10)] ax = self.figure.add_subplot(111) ax.clear() ax.plot(data, '*-') self.canvas.draw()</code>
按照以下步骤,您可以嵌入一个PyQt4 用户界面中的 matplotlib 图形,允许您可视化数据并通过 Qt 小部件与其交互。
以上是如何将 Matplotlib 图形无缝集成到您的 PyQt4 应用程序中?的详细内容。更多信息请关注PHP中文网其他相关文章!