PySide2 работает только для ветви разработки, поэтому вам придется установить ее:
git clone -b develop git@github.com:pyqtgraph/pyqtgraph.git
python setup.py install
С другой стороны, QUiLoader не знает PlotWidget, поэтому вам необходимо переопределить метод createWidget:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import sys
from PySide2 import QtWidgets, QtUiTools, QtCore
import pyqtgraph as pg
DIR_PATH = os.path.dirname(os.path.realpath(__file__))
class UiLoader(QtUiTools.QUiLoader):
def createWidget(self, className, parent=None, name=""):
if className == "PlotWidget":
return pg.PlotWidget(parent=parent)
return super().createWidget(className, parent, name)
def load_ui(fname):
fd = QtCore.QFile(fname)
if fd.open(QtCore.QFile.ReadOnly):
loader = UiLoader()
window = loader.load(fd)
fd.close()
return window
class First:
def __init__(self):
self.window = load_ui(os.path.join(DIR_PATH, "test.ui"))
def show(self):
self.window.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
main = First()
main.show()
sys.exit(app.exec_())