【VTK】關於QVTKOpenGLWidget的RenderWindow設定問題
阿新 • • 發佈:2019-01-29
如果不給QVTKOpenGLWidget設定RenderWindow,嘗試直接去預設預設值,那麼它的返回值是一個nullptr。
printf( "ui->qvtkWidget->GetRenderWindow(): %p\n", ui->qvtkWidget->GetRenderWindow() );
// ui->qvtkWidget->GetRenderWindow(): 0x0
同時,我們發現,程式執行得到的介面,QVTKOpenGLWidget所佔據的部分是透明的。
但是,我在朋友的電腦上有這樣的發現: 他project環境是:win10
QT 5.7.0
Qt Creator 4.0.2
MSVC 2013, bits
VTK7.1.0,沒有QVTKOpenGLWidget,替代者是QVTKWidget。
在他的工程中,我沒有搜尋到SetRenderWindow這樣的關鍵詞,但是卻直接使用了GetRenderWindow進行AddRenderer, SetNumberOfLayers等操作。這應該表明, QVTKWidget有預設的RenderWindow,而QVTKOpenGLWidget是沒有的(是空指標)。
據此,我找到以前使用過QVTKWidget的練習:vtk雙視窗聯動實驗
做了這樣的更改: