QT与VTK结合
QT与VTk结合
最简单的方法
在代码中实例化vtkwidget
, 并设置其渲染窗口setRenderWindow
, 如下所示:
#include "vtkGenericOpenGLRenderWindow.h"
#include "QVTKOpenGLNativeWidget.h"
QVTKOpenGLNativeWidget* qvtkWidget = new QVTKOpenGLNativeWidget();
vtkGenericOpenGLRenderWindow* renderWindow = vtkGenericOpenGLRenderWindow()::New();
qvtkWidget->setRenderWindow(renderWindow);
// 此处的layout需要自己定义
layout->addWidget(qvtkWidget);
QVTKWidgetPlugin插件
选用此方法要慎重, 此方法仅限于VTK低于9.0版本。 VTK9.0以上版本不再包含编译该插件的选项,也不存在头文件"QVTKWidget.h"
如果你能使用该插件, 还需设置渲染窗口SetRenderWindow
。
总归, 该插件仅仅为你省去了手动添加自定义控件的操作。
自定义控件
自定义控件说白了就是将QWidget提升为自定义控件。QVTKOpenGLNativeWidget 实际上是VTK给写好的一个自定义控件,继承自QWidget类,所以只需要将QWdiget类提升为QVTKOpenGLNativeWidget类。
操作步骤如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧