Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
howto:python_qt_pyqt_vtk_no_macosx [2012/10/11 08:58]
labmec
howto:python_qt_pyqt_vtk_no_macosx [2012/10/11 10:23] (current)
labmec
Line 28: Line 28:
 </​code>​ </​code>​
  
-  * Salvar ​o exemplo ​(clicar no nome do arquivo, abaixo):+  * Salvar ​os exemplos ​(clicar no nome do arquivo, abaixo):
  
 <file py u4e1.py> <file py u4e1.py>
Line 51: Line 51:
 interactor.Initialize() interactor.Initialize()
 interactor.Start() interactor.Start()
 +</​file>​
 +
 +<file py u7e1.py>
 +import vtk, sys
 +
 +from PyQt4 import QtGui
 +from vtk.qt4.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
 +
 +class MainWindow(QtGui.QMainWindow):​
 +    ​
 +    def __init__(self):​
 +        super(MainWindow,​ self).__init__()
 +        ​
 +        self.createActions()
 +        self.createMenus()
 +        self.createQVTKRenderWidget()
 +        self.setWindowTitle('​Basic Example To Use Python, Qt And VTK')
 +        self.resize(640,​ 480)
 +    ​
 +    def createActions(self):​
 +        self.coneAct = QtGui.QAction('​C&​one',​ self, checkable=True,​ checked=True,​ triggered=self.coneSource)
 +        self.cubeAct = QtGui.QAction('​C&​ube',​ self, checkable=True,​ triggered=self.cubeSource)
 +        self.cylinderAct = QtGui.QAction('​C&​ylinder',​ self, checkable=True,​ triggered=self.cylinderSource)
 +        self.sphereAct = QtGui.QAction('​S&​phere',​ self, checkable=True,​ triggered=self.sphereSource)
 +        ​
 +        sourcesActGroup = QtGui.QActionGroup(self)
 +        sourcesActGroup.addAction(self.coneAct)
 +        sourcesActGroup.addAction(self.cubeAct)
 +        sourcesActGroup.addAction(self.cylinderAct)
 +        sourcesActGroup.addAction(self.sphereAct)
 +    ​
 +    def createMenus(self):​
 +        sourcesMenu = self.menuBar().addMenu('&​Sources'​)
 +        sourcesMenu.addAction(self.coneAct)
 +        sourcesMenu.addAction(self.cubeAct)
 +        sourcesMenu.addAction(self.cylinderAct)
 +        sourcesMenu.addAction(self.sphereAct)
 +    ​
 +    def coneSource(self):​
 +        source = vtk.vtkConeSource()
 +        source.SetResolution(50)
 +        ​
 +        self.mapper.SetInput(source.GetOutput())
 +        self.actor.GetProperty().SetColor(1,​ 0, 0)
 +    ​
 +    def cubeSource(self):​
 +        self.mapper.SetInput(vtk.vtkCubeSource().GetOutput())
 +        self.actor.GetProperty().SetColor(0,​ 1, 0)
 +    ​
 +    def cylinderSource(self):​
 +        source = vtk.vtkCylinderSource()
 +        source.SetResolution(50)
 +        ​
 +        self.mapper.SetInput(source.GetOutput())
 +        self.actor.GetProperty().SetColor(0,​ 0, 1)
 +    ​
 +    def sphereSource(self):​
 +        source = vtk.vtkSphereSource()
 +        source.SetPhiResolution(25)
 +        source.SetThetaResolution(50)
 +        ​
 +        self.mapper.SetInput(source.GetOutput())
 +        self.actor.GetProperty().SetColor(1,​ 1, 0)
 +    ​
 +    def createQVTKRenderWidget(self):​
 +        self.mapper = vtk.vtkDataSetMapper()
 +        ​
 +        self.actor = vtk.vtkActor()
 +        self.actor.SetMapper(self.mapper)
 +        ​
 +        self.coneSource()
 +        ​
 +        renderer = vtk.vtkRenderer()
 +        renderer.AddActor(self.actor)
 +        ​
 +        interactor = QVTKRenderWindowInteractor(self)
 +        interactor.GetRenderWindow().AddRenderer(renderer)
 +        interactor.Initialize()
 +        interactor.Start()
 +        ​
 +        self.setCentralWidget(interactor)
 +
 +if __name__ == '​__main__':​
 +    app = QtGui.QApplication(sys.argv)
 +    win = MainWindow()
 +    win.show()
 +    sys.exit(app.exec_())
 </​file>​ </​file>​
  
   * Rodar o exemplo <​code>​python u4e1.py</​code>​   * Rodar o exemplo <​code>​python u4e1.py</​code>​
 +
 +  * Rodar o exemplo <​code>​python u7e1.py</​code>​
  
   * Instalar o [[http://​www.eclipse.org/​downloads/​download.php?​file=/​eclipse/​downloads/​drops4/​R-4.2.1-201209141800/​eclipse-SDK-4.2.1-macosx-cocoa-x86_64.tar.gz|Eclipse 4.2.1]]   * Instalar o [[http://​www.eclipse.org/​downloads/​download.php?​file=/​eclipse/​downloads/​drops4/​R-4.2.1-201209141800/​eclipse-SDK-4.2.1-macosx-cocoa-x86_64.tar.gz|Eclipse 4.2.1]]

QR Code: URL of current page
QR Code: URL of current page howto:python_qt_pyqt_vtk_no_macosx (generated for current page)