Results 1 to 2 of 2

Thread: QVTKWidget

  1. #1
    Join Date
    Jul 2009
    Posts
    17
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Windows

    Default QVTKWidget

    Hi there,

    I am writing some minimal code get QVTKWidget working in QTCreator. I am using qmake to compile. The code (see below) compiles correctly but when I try to debug F5, I get a crash as soon as it tries to initialize qvtkwidget.

    The paths and libraries seem to be correct. I can compile and run a VTK application when I use vtkRenderWindow.

    Any help would be appreciated.

    Qt Code:
    1. #include <QVTKWidget.h>
    2.  
    3. #include <vtkRenderWindow.h>
    4. #include <vtkRenderer.h>
    5. #include <vtkTextSource.h>
    6. #include <vtkVectorText.h>
    7. #include <vtkPolyDataMapper.h>
    8. #include <vtkActor.h>
    9.  
    10. int main(int argc, char *argv[])
    11. {
    12. QApplication app(argc,argv);
    13. QMainWindow *mainWindow = new QMainWindow;
    14. mainWindow->setFixedSize(640,360);
    15.  
    16. QVTKWidget *widget;
    17.  
    18. widget = new QVTKWidget; // <<-- This is where we crash :(
    19. widget->show();
    20. mainWindow->setCentralWidget(widget);
    21.  
    22. vtkTextSource *text = vtkTextSource::New();
    23. text->SetText("Hello World!");
    24. text->BackingOff();
    25. vtkVectorText *vectorText = vtkVectorText::New();
    26. vectorText->SetText("QVTKWidget");
    27. vtkPolyDataMapper *textMapper = vtkPolyDataMapper::New();
    28. textMapper->SetInput(text->GetOutput());
    29. vtkPolyDataMapper *vectorTextMapper = vtkPolyDataMapper::New();
    30. vectorTextMapper->SetInput(vectorText->GetOutput());
    31. vtkActor *textActor = vtkActor::New();
    32. textActor->SetMapper(textMapper);
    33. vtkActor *vectorTextActor = vtkActor::New();
    34. vectorTextActor->SetMapper(vectorTextMapper);
    35. vtkRenderer *renderer = vtkRenderer::New();
    36. renderer->SetBackground(0.4,0.6,0.8);
    37. renderer->AddActor(textActor);
    38. renderer->AddActor(vectorTextActor);
    39. vtkRenderWindow *renderWindow = vtkRenderWindow::New();
    40. renderWindow->AddRenderer(renderer);
    41. renderWindow->SetStereoTypeToDresden();
    42.  
    43. widget->SetRenderWindow(renderWindow);
    44. mainWindow->show();
    45. app.aboutQt();
    46. return app.exec();
    47.  
    48. }
    To copy to clipboard, switch view to plain text mode 

    Any help would be gratefully accepted.

    All the best,
    Floyd

  2. #2
    Join Date
    Jan 2012
    Posts
    10
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: QVTKWidget

    Hello Pepper,

    It might be late, but I think the problem might come from
    the fact that you are using the wrong dll.

    If you are building in release mode you should use a dll
    built in release mode.

    Cristian

    Quote Originally Posted by floyd.pepper View Post
    Hi there,

    I am writing some minimal code get QVTKWidget working in QTCreator. I am using qmake to compile. The code (see below) compiles correctly but when I try to debug F5, I get a crash as soon as it tries to initialize qvtkwidget.

    The paths and libraries seem to be correct. I can compile and run a VTK application when I use vtkRenderWindow.

    Any help would be appreciated.

    Qt Code:
    1. #include <QVTKWidget.h>
    2.  
    3. #include <vtkRenderWindow.h>
    4. #include <vtkRenderer.h>
    5. #include <vtkTextSource.h>
    6. #include <vtkVectorText.h>
    7. #include <vtkPolyDataMapper.h>
    8. #include <vtkActor.h>
    9.  
    10. int main(int argc, char *argv[])
    11. {
    12. QApplication app(argc,argv);
    13. QMainWindow *mainWindow = new QMainWindow;
    14. mainWindow->setFixedSize(640,360);
    15.  
    16. QVTKWidget *widget;
    17.  
    18. widget = new QVTKWidget; // <<-- This is where we crash :(
    19. widget->show();
    20. mainWindow->setCentralWidget(widget);
    21.  
    22. vtkTextSource *text = vtkTextSource::New();
    23. text->SetText("Hello World!");
    24. text->BackingOff();
    25. vtkVectorText *vectorText = vtkVectorText::New();
    26. vectorText->SetText("QVTKWidget");
    27. vtkPolyDataMapper *textMapper = vtkPolyDataMapper::New();
    28. textMapper->SetInput(text->GetOutput());
    29. vtkPolyDataMapper *vectorTextMapper = vtkPolyDataMapper::New();
    30. vectorTextMapper->SetInput(vectorText->GetOutput());
    31. vtkActor *textActor = vtkActor::New();
    32. textActor->SetMapper(textMapper);
    33. vtkActor *vectorTextActor = vtkActor::New();
    34. vectorTextActor->SetMapper(vectorTextMapper);
    35. vtkRenderer *renderer = vtkRenderer::New();
    36. renderer->SetBackground(0.4,0.6,0.8);
    37. renderer->AddActor(textActor);
    38. renderer->AddActor(vectorTextActor);
    39. vtkRenderWindow *renderWindow = vtkRenderWindow::New();
    40. renderWindow->AddRenderer(renderer);
    41. renderWindow->SetStereoTypeToDresden();
    42.  
    43. widget->SetRenderWindow(renderWindow);
    44. mainWindow->show();
    45. app.aboutQt();
    46. return app.exec();
    47.  
    48. }
    To copy to clipboard, switch view to plain text mode 

    Any help would be gratefully accepted.

    All the best,
    Floyd

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.