问题标签 [qvtkwidget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
833 浏览

vtk - 如何使用 vtkHardwareSelector?

我正在构建一个用于操作点云的简单工具。我希望能够在鼠标移动时进行多边形选择。我正在 Ubuntu 12.04 中使用 VTK 5.10 和 QVTKWidget。

为此,我通过修改测试文件构建了一个 polygonalSelector 类:https://github.com/Kitware/VTK/blob/master/Rendering/Core/Testing/Cxx/TestPolygonSelection.cxx 上的 TestPolygonSelection.cxx 修改是那些需要使用 VTK 5.10 而不是 vtk 6,如下所述:(请注意,我需要使用旧版本)http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Replacement_of_SetInput

在代码中,绘制了一个多边形,然后将 vtkHardwareSelector 对象vtkNew<vtkHardwareSelector> hardSel;用于其 GeneratePolygonSelection 方法:

我遇到的问题是测试下一个条件时:

if (hardSel->CaptureBuffers())

在内部,CaptureBuffers() 包含执行此操作的代码:

我永远不会超过这一点,因为它总是返回错误。我不知道如何设置 ColorBufferSizes,也无法在网上找到信息来清除这一点。这是错误输出:

在调试时,rgba int 永远不会改变(它在调用之前和之后保持不变rwin->GetColorBufferSizes(rgba))。

在 vtkRenderWindow 的文档中,它指出:

我需要使用 vtkOpenGLRenderWindow 吗?在其类参考中,它声明“应用程序程序员通常应该使用 vtkRenderWindow 而不是 OpenGL 特定版本。”

有任何想法吗?

编辑

我相信问题源于 VTK 5.10 与 VTK 6 的差异。

我确实设法使用不同的方法来实现多边形选择。如果有人打算在未来实现某种多边形选择,他们可能会发现这些步骤很有用:

我对 vtkInteractorStyleDrawPolygon 进行了子类化,并在 OnLeftButtonUp() 方法中实现了以下步骤:

  1. 获得按钮释放积分:std::vector<vtkVector2i> points = this->GetPolygonPoints();

  2. 向 vtkDoubleArray 插入点

  3. 将 vtkDoubleArray 插入 vtkPolygon

  4. 获取多边形的 numPoints、法线和边界。

  5. 获取指向多边形数据 pts 内的双精度数组的指针。

    /li>
  6. 对于 vtkPolyData 中的每个点 P,请执行以下操作:

    /li>
  7. 在内部 == 1 时将点添加到 vtkSelection

0 投票
1 回答
1246 浏览

qt - 在 QT(5.4.2) 中使用 QVTKWidget(VTK 6.2.0) 时无法解决外部符号错误

我的工作环境是:

  1. 赢7 64位

  2. 视觉工作室 2013 更新 4

  3. VTK 6.2.0

  4. QT 5.4.2 VS2013 64位opengl


我的 VTK 6.2.0 是从 CMAKE 构建的,并且遵循了中提到的所有设置

使用 CMake-GUI 3.2.2 安装 VTK 6.2.0 和 Qt 5.4

在 Windows 上结合 Qt 5.4.1 和 vtk 6.2.0(使用 CMake GUI 3.2.1)

没有错误或错误。

之后,我使用 Visual Studio 2013 成功构建了带有调试模式的 VTK.sln 解决方案。

然后我将“QVTKWidgetPlugin.lib”和“QVTKWidgetPlugin.dll”复制到QT 5.4.2的“lib”和“bin”文件夹中,完全相同。

我还将“QVTKWidgetPlugin.dll”复制到“C:QT's path/plugin/designer”

我在 QT Creator 3.4.1 中创建了一个新项目并将一个 Widget 拖到主窗口,右键单击并选择“升级到”以在其中添加 QVTKWidget。

推广到

我将这两行代码添加到我的 .pro 文件中

INCLUDEPATH += C:/VTK-6.2.0/include \ LIBS += -LC:/VTK-6.2.0/A_Build/lib/Debug \

我重建它,并弹出错误

错误

在这个过程中我错过了什么吗?

0 投票
0 回答
928 浏览

qt - 将 Qt 与 VTK 链接时出现 QVTKWidget 错误

在尝试结合 Qt 和 VTK 时,我遇到了著名的链接错误。我已经正确完成了使用 VTK 安装 Qt 的所有步骤,所以我不知道可能出了什么问题。

我在 Visual Studio 上使用带有 Qt5 和 VTK 6.3 的 Windows 8。

这是我得到的错误:

这是我使用的代码:

我遵循了这里写的所有内容:Combining Qt 5.4.1 with vtk 6.2.0 (using CMake GUI 3.2.1) on windows但不知何故我得到了这个错误。

此外,我已将:添加到我的“其他包含目录”的$(QTDIR)\lib附加库 $(QTDIR)\include中,并将以下内容添加到我的附加依赖项中。

编辑:

我没有为该项目使用 CMake,因为即使使用 wiki 上提供的小示例,我在使用 Cmake 时也会遇到问题,该示例在以下 CMakeLists.txt 中给出了以下错误。注意:我使用 Visual Studio 作为生成器。

错误:C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindQt4.cmake:1326 处的 CMake 错误(消息):从 NOTFOUND 中找到不合适的 Qt 版本“”,此代码需要 Qt 4.x 调用堆栈(最近调用优先):CMakeLists.txt:18 (find_package)

0 投票
2 回答
1409 浏览

windows-7-x64 - QT Creator 5.4 中的 QVTKWidgetPlugin

我正在使用 QT 5.4 和 VTK 6.2,但在QVTKWidgetPlugin. 具体来说,我可以在 QT Designer 中看到 QVTKWidget 选项,但在使用文件时在 QT Creator 中看不到它.ui。我不断地复制QVTKWidgetPlugin.dll,但我不知道出了什么问题。请帮忙!谢谢!:)C:\Qt\5.4\msvc2013_64\binC:\Qt\5.4\msvc2013_64\plugins\designerQVTKWidgetPlugin.libC:\Qt\5.4\msvc2013_64\lib

PS:我在 Windows 7 x64 上工作

0 投票
2 回答
2291 浏览

qt - 使用 vtk 6.3 和 qt5 构建 libQVTK

是否可以使用 qt5 和 vtk 6.3(或主干版本)构建 qvtk 库(和亲属)?

我从 .run 安装程序安装了 qt5,一切都安装得很好,然后我从启用 VTK_Group_Qt 并正确设置 qt 路径的源构建了 vtk 6.3。

QVTK(qt 的 VTK 小部件)似乎没有任何特定的选项或模块,所以我假设它是用这个配置构建的,但是当我尝试编译一些依赖于 QVTK 的源代码时,我得到了错误:

有没有办法从 VTK 主干构建这些库?我在任何地方都找不到任何迹象。

0 投票
1 回答
1452 浏览

qt - Qt5、VTK7、QtCreator:QVTKWidget 链接器错误

我正在尝试在使用 QVTKWidget 的 Windows10 上使用 QTCreator 构建应用程序,但出现链接器错误:

我已经为 msvc2013 和 msvc2013_64 下载了 Qt5.5。我已经下载了 VTK7,并使用 CMake 在 Qt 支持下构建了它。我构建了一个 vtk32 和 vtk64。我已经复制D:\VTK\vtk32\bin\Release\QVTKWidgetPlugin.dllC:\Qt\Tools\QtCreator\bin\plugins\designer并启动 QTCreator 时,QVTKWidget 显示在可用表单控件的 QVTK 部分下方的底部。

我将 QVTKWidget 添加到我的表单并使用 msvc2013 Release 构建应用程序。然后我得到链接器错误。我错过了什么库?

下面是我的 .pro 文件

0 投票
1 回答
1080 浏览

vtk - VTK Image slices to volume (C++)

I'm trying to display a volume slices-composed in QT5+VTK 7.0.0. However, I don't know why using vtkImageSlice+vtkImageStack only shows me one slice instead of five slices. This is the code I'm using it:

This is the output (screenshot) I got when I run the function: screenshot

Every vtk object was created in the constructor using vtkSmartPointer<vtk object type>::New(). I hope anyone can help me. Thank you.

0 投票
1 回答
867 浏览

linux - 更改 dicom 图像的窗口宽度和窗口级别

最近在处理dicom image。我不知道如何更改dicom 图像的WWL。另外,我使用 dcmtk 将 dicom 图像转换为 bmp 并显示它(我没有使用 vtk 显示图像)。我真的不知道这是否正确。
我想知道可以帮助我自动更改 dicom 图像的窗口宽度和窗口级别的算法。我在使用dcmtk时没有找到对应的算法。
谢谢并恭祝安康。

0 投票
1 回答
1223 浏览

qt - 仅使用模块构建 VTK 的子集

对于当前项目,我只需要 VTK 模块的一个子集。由于没有使用 VTK C++ 的 Windows 二进制安装程序(似乎 Python 绑定的安装程序是唯一可用的)我需要从源代码构建 VTK。此外,当我使用 CI(appveyor 和 travis)时,我每次推送到我的仓库时都需要构建 VTK,因此我希望将构建时间保持在最低限度。

这些是我在项目中使用的标题:

我已经尝试使用脚本确定所有需要的模块:Utilities/Maintenance/WhatModulesVTK.py,但在编译我的项目时仍然会出现一些链接器错误。似乎 QVTKWidget 没有正确包含,但我在这里可能错了。WhatModulesVTK 给了我:

这已经不太正确了,因为我使用 VTK 7.0.0 并且没有 vtkRenderingOpenGL,而只有 vtkRenderingOpenGL2。我的项目当前的 CMakeLists.txt 看起来像:

使用 VTK 作为依赖项,我预先构建它是这样的:

这种方法一般正确吗?我按顺序缺少什么模块。

任何帮助表示赞赏。

0 投票
1 回答
114 浏览

c# - 如何在 vtkAngleWidget 类中获取角度值?

我正在使用 Visual Studio C#,我想通过使用 vtkAngleWidget 来获得角度。

VTK 角度小部件示例 - 图像

使用此代码,vtkAngleWidget 可以完美运行。但我想在文本框中写信给角度。像这样;

像这样... - 图片

我如何 ?谢谢你的建议..