如何解决Qt Colordialog 与 VTK 交互
我在设置 QvtkOpenGl 小部件的背景颜色时遇到问题,当我使用 Qcolodialog 更改背景颜色时,它给了我以下错误消息`通用警告:
In D:\VTK-8.2.0\Rendering\OpenGL2\vtkOpenGLState.cxx,line 222
Error in cache state for GL_COLOR_CLEAR_VALUE
Generic Warning: In D:\VTK-8.2.0\Rendering\OpenGL2\vtkOpenGLState.cxx,line 229
at stack loc
at vtkOpenGLState::CheckState in D:\VTK-8.2.0\Rendering\OpenGL2\vtkOpenGLState.cxx line 228
at vtkOpenGLState::vtkglClearDepth in D:\VTK-8.2.0\Rendering\OpenGL2\vtkOpenGLState.cxx line 394
at vtkOpenGLRenderer::Clear in D:\VTK-8.2.0\Rendering\OpenGL2\vtkOpenGLRenderer.cxx line 573
at vtkOpenGLCamera::Render in D:\VTK-8.2.0\Rendering\OpenGL2\vtkOpenGLCamera.cxx line 80
at vtkRenderer::UpdateCamera in D:\VTK-8.2.0\Rendering\Core\vtkRenderer.cxx line 482`
我正在使用这些代码在我的 MainWinodw 构造器中初始化渲染器
// init RendererWindow
ui->openGLWidget->SetRenderWindow(mRenderWindow.Get());
ui->openGLWidget->GetRenderWindow()->AddRenderer(mRenderer);
// init Camera
mCamera->SetViewUp(0,1,0);
mCamera->SetPosition(0,10);
mCamera->SetFocalPoint(0,0);
// init Renderer
mRenderer->SetActiveCamera(mCamera);
mRenderer->SetBackground(mColors->GetColor3d("Cyan").GetData());
和这些代码来改变背景颜色
connect(ui->setBackCol,&QPushButton::clicked,[this]() {
QColor color = QColorDialog::getColor(Qt::white,this,"Choose color");
double Red = static_cast<double>(color.red());
double Green = static_cast<double>(color.green());
double Blue = static_cast<double>(color.blue());
mRenderer->SetBackground(Red,Green,Blue);
mRenderWindow->Render();
});
我不知道为什么会发生这种情况,颜色会变成我最后选择的颜色,但是上面的这些错误消息一直出现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。