def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(300, 300) self.setWindowTitle("pyqtgraph example: GLTriadItem") self.initActions() self.initMenus() self.propsWidget = TriadWidget() self.propsWidget.signalObjetChanged.connect(self.updateView) self.glWidget = gl.GLViewWidget(self) rows = self.propsWidget.param.props["rows"] cols = self.propsWidget.param.props["cols"] Lx = self.propsWidget.param.props["Lx"] Ly = self.propsWidget.param.props["Ly"] Lz = self.propsWidget.param.props["Lz"] md = MyMeshData.triad(rows, cols) self.glTriad = gl.GLMeshItem(meshdata=md, smooth=False) self.glWidget.addItem(self.glTriad) self.glWidget.setCameraPosition(distance=5) # Central Widget splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal) splitter1.addWidget(self.propsWidget) splitter1.addWidget(self.glWidget) self.setCentralWidget(splitter1)
def updateView(self, param): rows = param.props["rows"] cols = param.props["cols"] flag = param.props["visible"] Lx = param.props["Lx"] Ly = param.props["Ly"] Lz = param.props["Lz"] md = MyMeshData.triad(rows, cols, lx=Lx, ly=Ly, lz=Lz) self.glTriad.setMeshData(meshdata=md) self.glTriad.setVisible(flag)