pyqtgraph官方文档翻译

官方文档
官方网站
仅翻译记录一些重要内容

How to use pyqtgraph

命令行

使用下面两行简单的命令,可以打印data,data可以是一个list或者一个numpy 数组。命令将自动打开并显示一个新的window,在window里显示data所包含的线图

import pyqtgraph as pg
pg.plot(data)

对pg.plot的调用将返回所创建的plot小部件的句柄,从而允许将更多数据添加到同一窗口中。但是通过打印pg.plot()返回值的类型,发现是pyqtgraph.graphicsWindows.PlotWindow类

更多例子

pw = pg.plot(xVals, yVals, pen='r')  # plot x vs y in red
pw.plot(xVals, yVals2, pen='b')

win = pg.GraphicsWindow()  # Automatically generates grids with multiple items
win.addPlot(data1, row=0, col=0)
win.addPlot(data2, row=0, col=1)
win.addPlot(data3, row=1, col=0, colspan=2)

pg.show(imageData)  # imageData must be a numpy array with 2 to 4 dimensions

这里仅介绍表面,这些函数接受许多不同的数据格式和用于自定义数据外观的选项。

在PyQt内部嵌入小部件(widgets)

pyqtgraph中的所有功能都可以通过可嵌入窗口小部件使用,就像嵌入其他任何Qt窗口小部件一样。详细信息参见:PlotWidget, ImageView, GraphicsLayoutWidget和GraphicsView。PyQtGraph的小部件可以通过"Promote to…"功能添加到.ui文件中

QWidgets 和 Layouts

一个Qt GUI总是包含一些基本要素

  • Window. 通常由QMainWindow提供。请注意所有QWidgets都可以通过调用widget.show()在window中显示,如果widget没有父类的话
  • 多个QWidget实例,例如QPushButton, QLabel, QCombobox等
  • QLayout 实例(可选,但强烈推荐),layout能够自动管理和定位一些widgets,使GUI界面更美观

PyQtGraph通过提供其自己的QWidget子类以插入您的GUI来适应此方案。
例子:

from PyQt5 import QtGui  # (the example applies equally well to PySide)
import pyqtgraph as pg

## Always start by initializing Qt (only once per application)
app = QtGui.QApplication([])

## Define a top-level widget to hold everything
w = QtGui.QWidget()

## Create some widgets to be placed inside
btn = QtGui.QPushButton('press me')
text = QtGui.QLineEdit('enter text')
listw = QtGui.QListWidget()
plot = pg.PlotWidget()

## Create a grid layout to manage the widgets size and position
layout = QtGui.QGridLayout()
w.setLayout(layout)

## Add widgets to the layout in their proper positions
layout.addWidget(btn, 0, 0)   # button goes in upper-left
layout.addWidget(text, 1, 0)   # text edit goes in middle-left
layout.addWidget(listw, 2, 0)  # list widget goes in bottom-left
layout.addWidget(plot, 0, 1, 3, 1)  # plot goes on right side, spanning 3 rows

## Display the widget as a new window
w.show()

## Start the Qt event loop
app.exec_()

命名规则

几乎pyqtgraph中的每个类都是Qt提供的基类的扩展。 阅读文档时,请记住,Qt的所有类都以字母“ Q”开头,而pyqtgraph的类则不是。 当通读任何类的方法时,通常有助于查看使用了哪些Qt基类并浏览Qt文档。
Qt的大多数类都定义了信号(signal),除了常规方法外,这些信号很难分辨。 pyqtgraph明确定义的几乎所有信号都以“ sig”开头命名,以指示这些信号未在Qt级别定义。
在大多数情况下,以“ Widget”结尾的类是QWidget的子类,因此可以用作Qt窗口中的GUI元素。 以“ Item”结尾的类是QGraphicsItem的子类,并且只能在QGraphicsView实例(例如GraphicsLayoutWidget或PlotWidget)中显示。
待续。。。

发布了21 篇原创文章 · 获赞 10 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43196262/article/details/105493657
今日推荐