📜  PyQtGraph - 使用条形图添加 Qt 小部件(1)

📅  最后修改于: 2023-12-03 15:04:01.136000             🧑  作者: Mango

PyQtGraph - 使用条形图添加 Qt 小部件

PyQtGraph 是一个用于数据可视化的 Python 库,它能够通过使用 Qt 绘制 GUI 而不是 matplotlib。本文将介绍如何使用 PyQtGraph 来创建一个简单的条形图,以及如何将它添加到 Qt 应用程序中。

安装 PyQtGraph

在开始使用 PyQtGraph 之前,您需要先安装它。最简单的方法是使用 pip:

pip install pyqtgraph
创建条形图

创建条形图非常简单。下面是一个最小的示例代码:

import pyqtgraph as pg

data = [1, 3, 2, 4, 6, 5]
plt = pg.BarGraphItem(x=range(len(data)), height=data, width=0.5, brush='r')

这个代码创建了一个名为data的列表,并使用它来创建一个名为pltBarGraphItem对象。x参数指定条形图的 x 坐标,height指定每个条形的高度,width指定每个条形的宽度,brush指定了条形的颜色。

添加条形图到 Qt 应用程序

将条形图添加到 Qt 应用程序中也非常简单。您只需将它添加到布局中即可。下面是一个完整的示例代码,它创建了一个简单的 PyQt 应用程序,并将条形图添加到其中:

import sys
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout
from pyqtgraph import PlotWidget, BarGraphItem

class App(QWidget):

    def __init__(self):
        super().__init__()
        self.title = 'PyQtGraph - Bar Graph'
        self.left = 0
        self.top = 0
        self.width = 640
        self.height = 480
        self.initUI()

    def initUI(self):
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)

        data = [1, 3, 2, 4, 6, 5]
        plt = pg.BarGraphItem(x=range(len(data)), height=data, width=0.5, brush='r')
        
        layout = QVBoxLayout()
        layout.addWidget(PlotWidget())
        layout[0].addItem(plt)
        self.setLayout(layout)

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

这里我们创建了名为App的对象来表示整个应用程序,将BarGraphItem对象添加到PlotWidget对象,最后将PlotWidget添加到具有垂直布局的QWidget对象中。

总结

在本文中,我们介绍了如何使用 PyQtGraph 来创建一个简单的条形图,并将它添加到 Qt 应用程序中。使用 PyQtGraph,我们可以通过 Python 编写非常快速和灵活的 GUI 应用程序,而不需要大量的工作,确保应用程序的表现良好。