Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
howto:python_qt_pyqt_vtk_no_macosx [2012/10/02 12:12]
labmec
howto:python_qt_pyqt_vtk_no_macosx [2012/10/11 10:23] (current)
labmec
Line 1: Line 1:
-==== Instalando o ambiene ​do mini-curso de VTK no MACOSX ====+==== Instalando o ambiente ​do mini-curso de VTK no MACOSX ====
  
-  * Instalar o Python 2.7.3 +  * Instalar o [[http://​www.python.org/​ftp/​python/​2.7.3/​python-2.7.3-macosx10.6.dmg|Python 2.7.3]] 
-    * Rodar script de setar variaveis de ambiente+    * Rodar script de setar variaveis de ambiente: <​code>/​Applications/​Python\ 2.7/Update\ Shell\ Profile.command</​code>​ 
 +    * Verificar a versão (Precisa retornar "​Python 2.7.3"​):​ <​code>​python --version</​code>​
  
-  * Instalar ​Qt 4.8.2+  * Instalar ​o [[http://​ufpr.dl.sourceforge.net/​project/​numpy/​NumPy/​1.6.2/​numpy-1.6.2-py2.7-python.org-macosx10.6.dmg|NumPy 1.6.2]]
  
-  * Instalar ​PyQt (pPython 2.7.3 e Qt 4.8.2)+  * Instalar ​[[http://releases.qt-project.org/​qt4/​source/​qt-mac-opensource-4.8.2.dmg|Qt 4.8.2]]
  
-  * Compilar VTK 5.10.0+  ​* Instalar [[http://​ufpr.dl.sourceforge.net/​project/​pyqtx/​Complete/​PyQtX%2B_py273_q482_pyqt494.pkg.mpkg.zip|PyQt (p/ Python 2.7.3 e Qt 4.8.2)]] 
 + 
 +  ​* Compilar ​[[http://​www.vtk.org/​files/​release/​5.10/​vtk-5.10.0.tar.gz|VTK 5.10.0]]
  
 <​code>​ <​code>​
Line 18: Line 21:
 cmake ../VTK -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DVTK_USE_COCOA=ON -DVTK_USE_QT=ON -DVTK_WRAP_PYTHON=ON -DVTK_QT_USE_WEBKIT=OFF -DPYTHON_EXECUTABLE=/​Library/​Frameworks/​Python.framework/​Versions/​2.7/​bin/​python -DPYTHON_LIBRARY=/​Library/​Frameworks/​Python.framework/​Versions/​2.7/​lib/​libpython2.7.dylib -DPYTHON_INCLUDE_DIR=/​Library/​Frameworks/​Python.framework/​Versions/​2.7/​include/​python2.7 cmake ../VTK -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DVTK_USE_COCOA=ON -DVTK_USE_QT=ON -DVTK_WRAP_PYTHON=ON -DVTK_QT_USE_WEBKIT=OFF -DPYTHON_EXECUTABLE=/​Library/​Frameworks/​Python.framework/​Versions/​2.7/​bin/​python -DPYTHON_LIBRARY=/​Library/​Frameworks/​Python.framework/​Versions/​2.7/​lib/​libpython2.7.dylib -DPYTHON_INCLUDE_DIR=/​Library/​Frameworks/​Python.framework/​Versions/​2.7/​include/​python2.7
  
-make -j8+make -j4
 sudo make install sudo make install
  
Line 25: Line 28:
 </​code>​ </​code>​
  
-  * Rodar o Exemplo+  ​* Salvar os exemplos (clicar no nome do arquivo, abaixo): 
 + 
 +<file py u4e1.py>​ 
 +import vtk 
 + 
 +source = vtk.vtkConeSource() 
 + 
 +mapper = vtk.vtkDataSetMapper() 
 +mapper.SetInput(source.GetOutput()) 
 + 
 +actor = vtk.vtkActor() 
 +actor.SetMapper(mapper) 
 + 
 +renderer = vtk.vtkRenderer() 
 +renderer.AddActor(actor) 
 + 
 +window = vtk.vtkRenderWindow() 
 +window.AddRenderer(renderer) 
 + 
 +interactor = vtk.vtkRenderWindowInteractor() 
 +interactor.SetRenderWindow(window) 
 +interactor.Initialize() 
 +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>​ 
 + 
 +  ​* 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 Plugin PyDev no Eclipse, conforme [[http://​pydev.org/​manual_101_install.html|Instruções]]
  
  

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