def __init__(self): QtGui.QMainWindow.__init__(self) self.resize(300, 300) self.setWindowTitle('pyqtgraph example: Cone GLMeshItem') self.initActions() self.initMenus() self.propsWidget = ConeWidget() self.propsWidget.signalObjetChanged.connect(self.updateView) self.glWidget = gl.GLViewWidget(self) cols = self.propsWidget.param.props['cols'] l = self.propsWidget.param.props['length'] r = self.propsWidget.param.props['radius'] md = MyMeshData.cone(cols, length=l, radius=r) colors = self.getColors(md.faceCount()) md.setFaceColors(colors) self.glCone = gl.GLMeshItem(meshdata=md, smooth=True, drawEdges=True, edgeColor=(1,0,0,1)) self.glWidget.addItem(self.glCone) self.glWidget.setCameraPosition(distance=40) # Central Widget splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal) splitter1.addWidget(self.propsWidget ) splitter1.addWidget(self.glWidget ) self.setCentralWidget(splitter1)
def updateView(self, param): cols = param.props['cols'] l = param.props['length'] r = param.props['radius'] flag = param.props['visible'] md = MyMeshData.cone(cols, length=l, radius=r) colors = self.getColors(md.faceCount()) md.setFaceColors(colors) self.glCone.setMeshData(meshdata=md) self.glCone.setVisible(flag)