簡體   English   中英

如何使用QVTKWidget

[英]How to use QVTKWidget

我在一個大項目中工作。 我的目標是在QWidget顯示vtkRenderer 為此,我編寫了此類:

CModelViewWidget::CModelViewWidget(QWidget *parent) :
QWidget(parent)
{
    _qVtkWidget = new QVTKWidget(this,Qt::Widget);
    _rend = vtkRenderer::New();

    this->showVTK();

    _qVtkWidget->GetRenderWindow()->AddRenderer(_rend);

}

其中_qVtkWidgetQVTKWidget_rendvtkRenderershowVTK()是將球形添加到_rend

我可以編譯這些東西,但是當我要測試它們時,程序崩潰了。 錯誤消息是:

[pathToProject]/qtCT/qtcreator-build/bin/mabviewer: symbol lookup error:[pathToProject]/qtCT/qtcreator-build/lib/libplugwdgt_modelviz.so: undefined symbol: _ZN10QVTKWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE

我正在使用VTK5.8,QTCreator 2.4.1和QT 4.7.4和cmake。 我將項目和VTK鏈接在一起,並顯示正常的vtkRenderWindow可以正常工作。 QVTKWidget工作之前,還有其他事情要做嗎?

我的設置有些不同,但是代碼有效。 設置:使用VS2010 x64編譯器安裝Qt x64 4.8.4和VTK 5.10。

首先,將verticalLayout小部件添加到主UI屏幕。 我想其他任何布局都可以,但是我還沒有嘗試過。 在C ++編輯器中,嘗試:

 _qvtkWidget = new QVTKWidget;
 ui->verticalLayout->addWidget(_qvtkWidget);
 ui->verticalLayout->update();
 _qvtkRenderer = vtkRenderer::New();
 _qvtkWidget->GetRenderWindow->AddRenderer(_qvtkRenderer);
 _qvtkRenderer->SetBackground(0,0,0); 
 _qvtkRenderer->Render();

希望這對您有用!

嘗試在QVTKWidget中設置renderwindow並共享該渲染窗口的交互器,並將渲染器添加到渲染窗口,如下所示:

..
renderWin->addRenderer(_ren); 
QVTKWidget1->SetRenderWindow(renderWin);
renderWin->SetInteractor(QVTKWidget1->GetInteractor());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM