# EmbedInPyQt

VTKExamples/Python/Widgets/EmbedInPyQt

### Description

'''Minimal working example of vtk embedding in PyQt.'''

Contributed by Michka Popoff, inspired by the example from Eric E Monson See notes at the end for more details.

### Code

EmbedInPyQt.py

    #!/usr/bin/env python

    import sys
    import vtk
    from PyQt4 import QtGui
    from vtk.qt4.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor

    class MainWindow(QtGui.QMainWindow):

        def __init__(self, parent=None):
            QtGui.QMainWindow.__init__(self, parent)

            self.frame = QtGui.QFrame()

            self.vl = QtGui.QVBoxLayout()
            self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
            self.vl.addWidget(self.vtkWidget)

            self.ren = vtk.vtkRenderer()
            self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
            self.iren = self.vtkWidget.GetRenderWindow().GetInteractor()

            # Create source
            source = vtk.vtkSphereSource()
            source.SetCenter(0, 0, 0)
            source.SetRadius(5.0)

            # Create a mapper
            mapper = vtk.vtkPolyDataMapper()
            mapper.SetInputConnection(source.GetOutputPort())

            # Create an actor
            actor = vtk.vtkActor()
            actor.SetMapper(mapper)

            self.ren.AddActor(actor)

            self.ren.ResetCamera()

            self.frame.setLayout(self.vl)
            self.setCentralWidget(self.frame)

            self.show()
            self.iren.Initialize()

    if __name__ == "__main__":

        app = QtGui.QApplication(sys.argv)

        window = MainWindow()

        sys.exit(app.exec_())