pyqt5+pyqtgraph绘制流程图
简单示例
import sys
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QGridLayout, QGroupBox, QWidget
from pyqtgraph.flowchart import Flowchart
pg.setConfigOptions(background='w')
pg.setConfigOptions(crashWarning=True)
pg.setConfigOptions(exitCleanup=True)
class DemoUI(QWidget):
def __init__(self):
super(DemoUI, self).__init__()
self.setUI()
self.show()
def setUI(self):
self.setWindowTitle("DemoUI")
self.resize(QApplication.desktop().availableGeometry().width() - 400,
QApplication.desktop().availableGeometry().height() - 200)
self.layout = QGridLayout(self)
self.flowChartBox = QGroupBox(self)
self.fc = Flowchart()
self.flowChartWidget = self.fc.widget().chartWidget
self.flowChartLayout = QGridLayout(self.flowChartBox)
self.flowChartLayout.setContentsMargins(0, 0, 0, 0)
self.flowChartLayout.addWidget(self.flowChartWidget)
self.layout.addWidget(self.flowChartBox, 0, 0, 1, 1)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = DemoUI()
app.exit(app.exec_())
通过鼠标右击可以添加节点,支持连线,修改节点名称等等;
默认的input和output可以删除或者隐藏
self.fc.inputNode.close()
self.fc.outputNode.close()
# self.fc.inputNode.hide()
# self.fc.outputNode.hide()
官方文档: https://pyqtgraph.readthedocs.io/en/latest/flowchart/index.html