RenderWindowNoUiFile
VTKExamples/Cxx/Qt/RenderWindowNoUiFile
Description¶
This is a very basic example that shows how to create a Qt window. Typically, one would want to design a form in the QtDesigner (this is shown in RenderWindowUi)
Code¶
RenderWindowNoUiFile.cxx
#include <QApplication> #include <vtkActor.h> #include <vtkGenericOpenGLRenderWindow.h> #include <vtkNew.h> #include <vtkPolyDataMapper.h> #include <vtkRenderWindow.h> #include <vtkRenderer.h> #include <vtkSphereSource.h> #include <QVTKOpenGLWidget.h> #include <QSurfaceFormat> int main(int argc, char** argv) { // needed to ensure appropriate OpenGL context is created for VTK rendering. QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat()); QApplication app(argc, argv); QVTKOpenGLWidget widget; vtkNew<vtkGenericOpenGLRenderWindow> renderWindow; widget.SetRenderWindow(renderWindow); widget.resize( 256, 256 ); vtkNew<vtkSphereSource> sphereSource; vtkNew<vtkPolyDataMapper> sphereMapper; sphereMapper->SetInputConnection( sphereSource->GetOutputPort() ); vtkNew<vtkActor> sphereActor; sphereActor->SetMapper( sphereMapper ); vtkNew<vtkRenderer> renderer; renderer->AddActor( sphereActor ); widget.GetRenderWindow()->AddRenderer( renderer ); widget.show(); app.exec(); return EXIT_SUCCESS; }
CMakeLists.txt¶
cmake_minimum_required(VERSION 2.8) PROJECT(RenderWindowNoUiFile) find_package(VTK REQUIRED) include(${VTK_USE_FILE}) add_executable(RenderWindowNoUiFile MACOSX_BUNDLE RenderWindowNoUiFile.cxx ) target_link_libraries(RenderWindowNoUiFile ${VTK_LIBRARIES})
Download and Build RenderWindowNoUiFile¶
Click here to download RenderWindowNoUiFile and its CMakeLists.txt file. Once the tarball RenderWindowNoUiFile.tar has been downloaded and extracted,
cd RenderWindowNoUiFile/build
If VTK is installed:
cmake ..
If VTK is not installed but compiled on your system, you will need to specify the path to your VTK build:
cmake -DVTK_DIR:PATH=/home/me/vtk_build ..
Build the project:
make
and run it:
./RenderWindowNoUiFile
WINDOWS USERS
Be sure to add the VTK bin directory to your path. This will resolve the VTK dll's at run time.