pyqtgraph可以单独运行,也可以嵌入到PyQt中交互。要嵌入到PyQt, 需要生成 pyqtgraph.PlotWidget,然后就可以像正常的Qt Widget 一样添加使用,如添加到layout中。
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (
QApplication,
QWidget,
QPushButton,
QLineEdit,
QListWidget,
QGridLayout
)
import pyqtgraph as pg
## 先启动应用程序
app = QApplication([''])
## 定义顶层Widget
w = QWidget()
## 创建一些qt Widget, 和 pyqtgraph 的widget
btn = QPushButton('按钮')
text = QLineEdit('文本框')
listw = QListWidget()
plot = pg.PlotWidget()
plot.plot([1,2,3,5,8,1,2],pen='r')
## 创建布局(lyaout) 放入 widget
layout = QGridLayout()
w.setLayout(layout)
## 添加widget
layout.addWidget(btn, 0, 0) # 左上角,0行0列
layout.addWidget(text, 1, 0) # 左侧中间,1行0列
layout.addWidget(listw, 2, 0) # 左侧底部,2行0列
layout.addWidget(plot, 0, 1, 3,Qt.AlignmentFlag.AlignTop) #右侧,0行,1列,跨越3行,顶部对齐。
## 显示
w.setWindowTitle('pyqtgraph 嵌入 PyQt 示例')
w.show()
## 开始事件循环
app.exec_()
运行结果,其中,左侧是PyQt 的Widget, 右侧是pyqtgraph。